您的位置:首页 > Web前端 > JQuery

JQuery使用Ajax同步提交数据

2012-12-27 17:03 405 查看
最近在做项目时,需要使用Ajax获取Session中的用户信息,并根据返回结果判断用户是否具有执行提交操作的权限,发现始终无法获取用户信息,折腾半天,最后发现问题出现的原因是:JQuery默认采用异步方式进行提交!所以在没有等到服务器端返回结果时,函数已经返回了,无法得到用户信息的原因算是找到了,但是这个问题怎么解决呢?

如果可以让函数阻塞,直到服务器端返回结果时才继续执行,这个问题便可以轻易解决,JQuery实现Ajax提交数据的基本方法如下:

1
2
3
4
5
6
7
8
9
10
$.ajax({

type:
'POST'
,

beforeSend:
function
(){},

async:
false
,

url:
''
,

data:
''
,

dataType:
'html'
,

error:
''
,

success:
''

});


在这里,我们重点关注参数:async,如果不显示定义这个参数,默认异步提交(async=true),如果需要同步提交,将async显示定义成false!

===================================================

如何设置jquery的ajax方法为同步

Ajax请求默认的都是异步的

如果想同步 async设置为false就可以(默认是true)

var html = $.ajax({
url: "some.php",
async: false

}).responseText;

或者在全局设置Ajax属性

$.ajaxSetup({
async: false
});

再用post,get就是同步的了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: