我的 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, params, function(returnCallback) {
console.log(returnCallback);
alert("Success");
});
在大多数情况下都可以正常工作。但有时(大约 3 次中的 1 次)它不会返回任何回调。
我发现了很多关于Not working ajax in Safari but fine in chrome and FireFox 的问题和答案。我的问题与他们不同,因为大多数时候都很好(我并不是说它通常不好,因为当我刷新浏览器时,这可能会导致我的 ajax 调用工作)。
我的主要问题是为什么我的 ajax 调用有时会失败?我的 JS 控制台上没有任何错误。在这种情况下,我刷新浏览器以获取我的 ajax 调用。有任何想法吗?
更新:
我发现有时候我的ajax调用方法没有调出是因为console.log("Request URL "+reqUrl); 没有执行。当我不想刷新浏览器时,我多次单击页面链接以产生结果。会迟到执行吗?