Ajax如何设置成同步请求

Ajax如何设置成同步请求

async. 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。

async 设置为 false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

下面查看一个示例:

var temp;

$.ajax({

async: false,

type : "post",

url : defaultpostdata.url,

datatype : 'json',

success : function(data) {

temp=data;

}

});

alert(temp);

这个ajax请求为同步请求,在没有返回值之前,alert(temp)是不会执行的。

如果async设置为:true,则不会等待ajax请求返回的结果,会直接执行ajax后面的语句。

不过上面设置同步请求的方法,有网友曾经反馈将async设成false后, 原意是想返回数据了再执行$.ajax后面的脚本, 没想到这个地方却导致了在火狐浏览器下出现闪屏(firefox 11.0),滚动条下拉到底部触发ajax的情况。最后只能将async:false注释掉,也就是async为ture的情况下,成功解决了火狐浏览器滚动条下拉到底部触发ajax出现闪屏的问题。

https://www.cnblogs.com/mmzuo-798/p/7098979.html

相关推荐

肯德基冰咖啡杯多少毫升
365bet提款维护

肯德基冰咖啡杯多少毫升

📅 07-24 👁️ 9087
来分期怎么看欠多少钱
365bet体育投注官网

来分期怎么看欠多少钱

📅 07-28 👁️ 2399
【垃圾分类】贝壳类属于哪种垃圾
365bet体育投注官网

【垃圾分类】贝壳类属于哪种垃圾

📅 02-03 👁️ 5949
节日诗句
365bet提款维护

节日诗句

📅 01-24 👁️ 4629
烈雀 #021 图鉴:种族值、进化与招式
365bet提款维护

烈雀 #021 图鉴:种族值、进化与招式

📅 06-13 👁️ 6754