我有一个页面女巫做了几个ajax调用,它通常需要大约一分钟才能完成。不幸的是,这些调用尚未回复,我的浏览器在转到另一个页面之前等待它们完成。我想做的是让ajax调用有效,但当用户决定转到其他页面让他立即离开时停止。我尝试使用abort但似乎没有用。
代码:
var requests = []
function getworkLetterList(){
requests.push(getworkLetterList = $.get("ajax.home.php?get=workLetterList", function(data, status){
if (status != "success") {
alert("Fout bij inladen workLetterList");
}else{
$("#workLetterList-row").replaceWith(data);
$("#workLetterList-loader").css("display","none")
}
}));
}
function getreviewArray(){
requests.push($.get("ajax.home.php?get=reviewArray", function(data, status){
if (status != "success") {
alert("Fout bij inladen reviewArray");
}else{
$("#reviewArray-row").replaceWith(data);
$("#reviewArray-loader").css("display","none")
}
}));
}
function geteindcijfer(){
requests.push($.get("ajax.home.php?get=eindcijfer", function(data, status){
if (status != "success") {
alert("Fout bij inladen eindcijfer");
}else{
$("#eindcijfer-row").html(data);
$("#eindcijfer-loader").css("display","none")
}
}));
}
function abortRequests(){
console.log(requests);
for (i = 0; i < requests.length; i++) {
requests[i].abort();
}
}
$( window ).unload(function() {
abortRequests()
});
$(window).on('beforeunload ',function() {
abortRequests()
});
getworkLetterList();
getreviewArray();
geteindcijfer();
答案 0 :(得分:0)
通常发送ajax请求不会导致此类延迟。但是,它可能是客户端问题。一个可能的问题可能是客户端处理服务器响应,或者服务器需要太多时间来处理所有这些请求。您是否在[YOUR_BROWSER_OF_CHOICE]的开发人员工具中查看了响应时间?