我有很多来自很多js文件的调用ajax请求。我想检测几个ajax请求来中断执行并执行一个更新的请求。 我能用他们的网址检测并停止ajax吗?
我非常感谢我能获得的任何帮助。
答案 0 :(得分:1)
以下代码改编自this post。它未经测试,但应该提出这个想法。它将xhr调用与URL一起填充到一个数组中,然后根据URL将它们调回来杀死它们。
var url = "some.php",
xhr_global = [];
var jqxhr = $.ajax({
type: "POST",
url: url,
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
xhr_global.push({xhr: jqxhr, url: url});
function kill_url(url_pick){
for(var i=0; i<xhr_global.length; i++){
if (xhr_global[i].url == url_pick) // If url matches, kill xhr
xhr_global[i].xhr.abort();
}
}
kill_url("some.php"); // Call function to kill the xhrs
请注意,正如帖子所说,这会破坏客户端的进程,但不会破坏服务器端的进程。