JQuery Ajax调用通常不适用于Safari 6

前端之家收集整理的这篇文章主要介绍了JQuery Ajax调用通常不适用于Safari 6前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的Ajax调用非常简单,如下所示:
function ajax(reqUrl,params,callback) {
console.log("Request URL "+reqUrl);
var cond;
cond = $.ajax({
    type: 'post',url: reqUrl,data: params,error:function(){ alert("some error occurred") },success: callback
});
console.log("Server response "+cond.readyState);
}
   // Call it as 
    var url = "/getResult";
    var params = {};
    params.param1 = "test1";
    params.param2 = "test2";
    ajax(url,function(returnCallback) {
        console.log(returnCallback);
        alert("Success");
    });

在大多数情况下,这样做很好.但有时(3次中大约1次)它不会返回任何回调.

我发现很多问题和答案在Safari中不工作ajax但在chrome和FireFox中很好.我的问题与它们不同,因为它在大多数情况下都很好(我并不是说它通常不好,因为当我刷新浏览器时,这可能会导致我的ajax调用工作).

我的主要问题是为什么我的ajax调用有时会失败?我的JS控制台上没有任何错误.在这种情况下,我刷新浏览器以获取我的ajax调用.有任何想法吗?

更新:

我发现有时我的ajax调用方法没有调用,因为console.log(“请求URL”reqUrl);没有执行.当我不想刷新浏览器时,我在页面链接上多次单击以生成结果.执行会迟到吗?

解决方法

最后,我发现错误.. Safari不会再次重新加载我的JavaScript文件,甚至禁用缓存.所以我将所有的JS代码放入:
$(document).ready(function(){
 // start load my js functions
 init();
});

我的页面准备好后重新加载我的JS文件.干得好!

猜你在找的jQuery相关文章