-2
我有很多從許多js文件調用ajax請求。我想檢測一些Ajax請求來中斷執行並執行一個更新的請求。 我可以檢測並停止與他們的網址ajax?獲取或檢測到一個ajax請求正在執行url
我會非常感謝任何幫助,我可以獲得。
我有很多從許多js文件調用ajax請求。我想檢測一些Ajax請求來中斷執行並執行一個更新的請求。 我可以檢測並停止與他們的網址ajax?獲取或檢測到一個ajax請求正在執行url
我會非常感謝任何幫助,我可以獲得。
這裏是代碼改編自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
請注意,正如帖子所言,這會在客戶端而不是服務器端殺死進程。
謝謝你的回答。這是如果我有權訪問ajax的聲明。但是,如果我沒有訪問他的聲明並且只有url,我該怎麼做 – mister
如果你沒有權限訪問ajax的聲明(例如,你不能保存jqxhr的承諾),那麼我不相信你可以停止Ajax通話。 –
謝謝你的回答。這是非常有用的,但我必須中止一個由我的電腦調用的Ajax,我無法訪問代碼。 – mister