8

この質問は、私が使用していない JQuery のコンテキストで質問されることを除いて、別の質問に似ています。

私のページのAjax コードは、 10 秒ごとに POST を発行します。時々、~600 リクエストごとに、クライアント コードが応答を待ってハングしますが、応答はまったく表示されません。

コードはタイムアウトになり、Ajax リクエストを再発行しますが、最初に、未処理のリクエストに関するすべてをクリーンアップしたいと考えています。

物事が適切に片付けられるように未処理のリクエストをキャンセルする正しい方法は何ですか?

ありがとう!

4

1 に答える 1

5

最後の AJAX リクエストへの参照を保存し、次のリクエストを開始するときに中止します。

例えば:

var lastRequest;

setInterval(function() {
    lastRequest.abort(); // abort the last request

    lastRequest = new XMLHTTPRequest(); // and the rest of your XHR code
}, 10000);
于 2011-06-04T13:50:33.903 に答える