一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

jquery $.Ajax 火狐浏览器闪屏解决办法

时间:2012-09-30 编辑:简简单单 来源:一聚教程网

本文章介绍了关于jquery的async:false $.Ajax 火狐浏览器闪屏解决办法

jquery的async:false,这个属性
默认是true:异步,false:同步。

 代码如下 复制代码

$.ajax({  
        type: "post",  
        url: "path",  
    cache:false,  
    async:false,  
   dataType: ($.browser.msie) ? "text" : "xml",  
        success: function(xmlobj){  
        }  
}); 

$.ajax({
        type: "post",
        url: "path",
 cache:false,
 async:false,
 dataType: ($.browser.msie) ? "text" : "xml",
        success: function(xmlobj){
        }
});

这样在其它浏览器下没有任何问题,但是在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出现闪屏的问题.

热门栏目