jquery的async:false,这个属性
默认是true:异步,false:同步。
代码如下 | 复制代码 |
$.ajax({ type: "post", url: "path", cache:false, async:false, dataType: ($.browser.msie) ? "text" : "xml", success: function(xmlobj){ } }); $.ajax({ |
这样在其它浏览器下没有任何问题,但是在ff下就出问题了,下面我们来看解决办法
async默认是true, 即为异步方式, $.Ajax执行后, 会继续执行ajax后面的脚步, 直到服务器端返回数据后, 触发$.Ajax里的success方法. 这时候执行的是两个线程.
我的出现闪屏 的情况是:
代码如下 | 复制代码 |
$.ajax({ type: "post", url: "index.php", data: { }, async:false, beforeSend:function(){}, success: function(data){ //... }, complete:function(){} }); |
在这里, 我的async设为了false, 原意是想返回数据了再执行$.Ajax后面的脚本, 没想到这个地方却导致了在火狐浏览器下出现闪屏.(Firefox 11.0), 滚动条下拉到底部触发ajax的情况.闪屏
解决办法
将async:false注释掉, 也就是async为ture的情况下, 成功解决了火狐浏览器滚动条下拉到底部触发ajax出现闪屏的问题.
时间: 2024-10-22 10:40:08