如果想同步 async设置为false就可以(默认是true)
var html = $.ajax({
url: "some.php",
async: false
}).responseText;
或者在全局设置Ajax属性
$.ajaxSetup({
async: false
});
再用post,get就是同步的了。
如果可以让函数阻塞,直到服务器端返回结果时才继续执行,这个问题便可以轻易解决,JQuery实现Ajax提交数据的基本方法如下:
12345678910 | $.ajax({ type: 'POST' , beforeSend: function (){}, async: false , url: '' , data: '' , dataType: 'html' , error: '' , success: '' }); |
在这里,我们重点关注参数:async,如果不显示定义这个参数,默认异步提交(async=true),如果需要同步提交,将async显示定义成false!
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。