Jquery Ajax 挂起的请求减慢了其他页面的速度



>我已经准备了一个仪表板,下面的 ajax 调用在主页加载后正常工作,但问题是 直到完成 ajax 调用,如果我单击另一个页面,则由于挂起的 ajax 请求而显示加载的页面。

对于您的信息,ajax 调用需要 25 秒才能处理大量数据。

$.ajax({
type: "POST",
url: 'https://mysite/service/AjaxPrepareDashBoard',
data: "agent_id=25364523",
cache: false,
dataType: 'text',
async: true,
beforeSend: function () {
$("#datasource_loader").html('<img src="https://mysite/images/ajax-loader.gif">');
},
success: function (response)
{
if (response) {
$("#datasource_loader").html('');
$("#datasource").prepend(response);
$(".print_trx_list").html(response);
}
}
});

当用户单击另一个页面时,您应该中止正在进行的 ajax 请求。在中止的工作原理下面添加虚拟代码。

当您开始重定向到另一个页面时,您需要中止调用。

var xhr = $.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
//kill the request
xhr.abort()

相关内容

最新更新