ページで Ajax が必要になるところまで来ましたが、それは、入力されたユーザー名がデータベースにあるかどうかを確認するための小さな部分にすぎません。ここで説明したように、Ajax は JavaScript だけで実行できます。このようにすることの長所/短所は何ですか? 大規模なライブラリは必要なく、他のすべてがすでに JavaScript だけである場合は不必要に複雑だと思うので、私はこれに傾いています。
6 に答える
IE6などの古いバージョンのIEをサポートする必要がない場合は、非常に簡単です。ファクトリ関数は必要ありません。単純なものです。
var http = new XMLHttpRequest();
すべてのブラウザ用。さらに、最近のブラウザー(IE8onload
も信じています)では、次の代わりにイベントを使用してさらに単純化できますonreadystate
。
var http = new XMLHttpRequest();
http.open("GET", "somepage.html", true);
http.onload = function () {
alert("Request complete: " + http.responseText);
}
http.send();
success
これは、jQueryのハンドラーと非常によく似ています。
詳細については、「XMLHttpRequestの使用」を参照してください。
ただし、jQueryには、約束どおりajax呼び出しの脅威があります。これにより、一部のシナリオ(複数のajax呼び出しが終了するのを待ってからコードを実行するなど)の開発がはるかに簡単になります。
それほど悪くはありません...それほど小さくはありません: そこで説明されている小さなAjax JavaScriptライブラリ 、ajaxだけを処理する小さなライブラリの1つを入手することもできます。
編集:MCLが彼のコメントで以下に指摘しているように、このスニペットもあります:https ://gist.github.com/mythz/1334560
jQuery構文を実装しているようですが、ajax呼び出しの場合のみ、慣れている場合は、これがより良い選択かもしれません。
それはまったく悪いことではありません。jQueryはそれを行うためのショートカットを提供するだけですが、すべてを手動で記述すると少し大きくなります。それはほとんどそれです。
「ajaxヘルパー」が必要な場合は、quirksmodeのこのスニペットを使用してみてください。http ://www.quirksmode.org/js/xmlhttp.html
jQueryは、AJAX呼び出しをより効率的に実行できるようにする単なるフレームワークです。少ないコード。jQueryを使用するかどうかは関係ありません。それは完全にあなた次第です。jQueryが重い場合は、AJAX機能のみを提供するライブラリを使用してください。また、純粋なJSを使用してAJAX呼び出しを行うこともできます。
最大の利点は、jQueryがAJAX呼び出しを処理するブラウザー間の方法を解決することだと思います。
ページに 80kb の Jquery.min.js をロードする以外に違いはありません...