-2
多くのjsファイルから多くのAjaxリクエストが呼び出されています。私は、実行を中断し、新しいものを実行するための少数のAjax要求を検出したい。 URLを使ってajaxを検出して停止できますか?ajaxリクエストを取得または検出すると、URLで実行されます
私が得ることができる助けを非常に感謝しています。
多くのjsファイルから多くのAjaxリクエストが呼び出されています。私は、実行を中断し、新しいものを実行するための少数のAjax要求を検出したい。 URLを使って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の約束を保存できません)私はあなたがアヤックスの呼び出しを止めることができるとは思わない。 –
あなたの答えに感謝します。それは非常に便利ですが、私は私のPCで呼び出されたajaxを中止しなければならず、コードにアクセスすることはできません。 – mister