あなたは W3School の推奨事項を誤解しています。関連する部分を強調表示します。
Web サイトに複数の AJAX タスクがある場合は、XMLHttpRequest オブジェクトを作成するための標準関数を 1 つ作成し、各 AJAX タスクに対してこれを呼び出す必要があります。
1 つの AJAX 関数を使用してリクエストをフェッチすることが示されています。この関数は、IE と他のブラウザーとの間の不一致を処理します。XMLHttpRequest
標準準拠のブラウザー、およびActiveXObject
IE で。
複数の XHR オブジェクトを使用することをお勧めします。1 つのグローバル xhr オブジェクトを使用すると、アプリケーションは一度に 1 つのリクエストしか処理できません。また、エラーが発生しやすくなります (たとえば、onreadystatechange 関数を開始せずに XMLHttpRequest を複数回起動するなど)。
W3schools は次のような意味です。
function createXHR() {
try {
return new XMLHttpRequest();
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return new ActiveXObject("Msxml2.XMLHTTP");
}
}
}
var xhr = createXHR();
xhr.open('get', '/test', true);
xhr.send();
などのリクエストを処理する関数を作成することをお勧めしますがjQuery.ajax
。