ホームページ >ウェブフロントエンド >jsチュートリアル >jquery は xmlHttpRequest オブジェクトを自動的にリサイクルしないため、メモリ オーバーフローが発生します_jquery

jquery は xmlHttpRequest オブジェクトを自動的にリサイクルしないため、メモリ オーバーフローが発生します_jquery

WBOY
WBOYオリジナル
2016-05-16 17:52:441055ブラウズ

幸いなことに、今日 kuibono の記事を読みました。これは、xmlHttpRequest オブジェクトを手動でリサイクルするために kuibono によって提供されたコード スニペットです。
理論的には、jquery のすべての Ajax リクエストは、長い接続は無限再帰であり、リクエストの数が非常に多くなります。ただし、各リクエストは新しい xmlhttprequest を作成し、jquery はリソースを自動的に再利用しないため、メモリ オーバーフローが発生します。

jquery API を見ると、jquery にはリクエスト完了後のコールバック関数 (リクエストが成功または失敗した後に呼び出される) である完全なオブジェクトもあることがわかりました。 XMLHttpRequest と textStatus という 2 つのパラメータが同時に存在します。したがって、リクエストの完了後に返された XMLHttprequest オブジェクトを手動でリサイクルする必要があるだけです。コードは次のとおりです。

コードをコピー コードは次のとおりです:

$.ajax({
url: "http://www.jb51.net",
data: { name: "xxxx" },
dataType: "xml",
success: function (data, textStatus) {
//何かをします...
},
complete: function (XHR, TS) { XHR = null }
});
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。