在我的网站上,有一个页面正在进行ajax调用,可能需要几分钟时间。 当ajax工作时,如果我们打开一个新选项卡并尝试加载网站中的其他页面,他们将无法加载,直到ajax完成。 互联网正在运行,我们可以在ajax运行时加载其他网站。
所以似乎浏览器中有一些东西不允许从同一个网站加载新页面,而同一网站上仍有一个ajax调用正在进行中。
这是我的ajax调用的大纲,它阻止了我网站上的其他页面加载:
$.ajax({
type: "post",
timeout:150000, //TIMEOUT AFTER 150 SECS
data: {
mydata: mydata
},
complete : function(result) {
console.log("ajax complete");
},
cache: false,
dataType: 'json',
error: function (xhr, ajaxOptions, thrownError) {
console.log("error :AJAX completed w/error." +xhr.status+" "+thrownError);
},
success:function(obj ){
console.log("ajax success");
}
});
有什么想法可以解决这个问题吗?
更新
返回的数据非常小。发生这种情况时服务器使用率很低,因为大多数等待都与对第三方服务器的api呼叫有关。
此外,只有在从同一浏览器加载页面时才会发生这种情况。如果从一个浏览器调用ajax而从另一个浏览器加载另一个页面,则没有延迟。