2011-12-28 20 views
0

AJAXによってサーバーからPOSTまたはGETをリクエストするサーバーとの間で最も速く親しみやすい方法について少し混乱します.jQuery($.load()$.get()$.post()$.ajax())またはXMLHttpRequestのようなJavascriptですか?ajaxリクエストを処理する最速の方法は何ですか?

私のプロジェクトでAJAX経由でサーバーからリクエストを呼び出すための関数やクラスを作成する必要がありますが、サーバーjQueryやJavascriptの方が速く親しみやすいものは何もわかりません。そのことについては

+0

'.load'、' .get'、 '.post'は' XMLHttpRequest'の単なるラッパーである '.ajax'の略です。だから、彼らはすべて同じです。 –

答えて

4

​​、$.get()$.post()$.getJSON()、すべての$.ajax()のためだけの近道です。それらはあなたのためにあらかじめ設定された設定の一部を持つちょうど$.ajax()です。

​​の唯一の特長は、取得したコンテンツを現在のターゲットに挿入するための成功ハンドラが既に定義されていることです。

これらはすべて同じように高速ですが、唯一の疑問は最もわかりやすいものです。

多くの同様のajaxコールを作成する場合は、アクセシブルな場所に近い$.ajaxSetup()を使用することをお勧めします。これにより、最も一般的な設定をあらかじめ設定できるため、独自のショートカット機能を作成できます。

6

(それjQueryの$ .LOAD()、$に.get()は、$ .postである)、$アヤックス()

これらの機能は、相互の全ての準同義語です。 jQueryは構文的な砂糖と標準化されたインタフェースを追加しますが、結局はブラウザのネイティブAjaxエンジン(XMLHttpRequestなど)を使用します。私はそれらの間に顕著な性能差があるとは思わない。

ここまたはそこに数ミリ秒を剃り落とすことができ、「生」のブラウザエンジンを使用して要求の何千もの超集約型のエッジケースがあるかもしれませんが、ほとんどの場合のために、それは問題ではありません。

jQueryの機能(または必要に応じて他のライブラリの機能)を使用する可能性があります。ビッグネームの多くは、chatのために、jQueryを大きく使用します。including Stack Overflow

+0

.load()にはラップされたターゲットが必要です。私は$ .fn.load()を参照できると思います... – Sinetheta

+0

@Sinethetaだからこそ私は* quasi- * synonymsと言っています:)それらはすべて異なる目的を果たしますが、最終的には同じものになりますハンドラ。 –

+0

アドバイスをいただきありがとうございますが、準同義語は何ですか?私はそれを理解していませんでした:$ –

2

jQueryはXMLHttpRequestをラップし、すべてのブラウザであなたのためにインターフェイスを標準化します。オーバーヘッドは少しありますが、ネットワーク側のものはありません。私はjQueryの機能のオーバーヘッドが、あなた自身でブラウザ間でXMLHttpRequestを標準化する必要がなくなるまでの時間と比較すると、些細なことだと言っています。

そうでなければ、あなたの速度は、クライアントがサーバーに接続し、サーバーの帯域幅によって決定され、トラフィックの量などバックエンドのコードの速度/最適化など

+0

あなたのアドバイスのために、私は速度がサーバーに依存していることを知っていますが、最後にjqueryまたはjavascriptを使用することをお勧めしますか?私はソーシャルプロジェクトに取り組んでいますので、Ajaxリクエストを割り当てています –

+0

jQueryのようなフレームワークを、まっすぐなXMLHttpRequestに使うことをお勧めします。実績があり、速く、必要なものです。 – jlindenbaum

+0

あなたは隠されたiframeのようなフレームワークを意味しますか?私はちょうどiframeとXMLHttpRequestについての研究を行い、ほとんどの人がXMLHttpRequestの方が速く、より良いと言っています。サーバからリクエストするデータのサイズだけを送信します。 –

1

jQueryの javascriptのです。あなたが記述したすべてのajax関数は、XMLHttpRequest(または古いブラウザの代わりのもの)に依存しているため、ブラウザの機能を直接使用するよりも時間がかかります。

もちろん、jQueryの機能は使いやすくなっています。だから、それがあなたの最初の関心事である場合は、独自のajax関数を書くか(またはajaxを直接使う)。それをやりなおしたいのであれば、jQueryを使うほうが速くなります。

+0

おかげでスキーヤーなので、もし私が独自のjavascriptクラスを作成してブラウザを定義し、ブラウザ機能を使ってリクエストを処理すれば、これはjqueryよりも速くてうまくいくでしょうか? –

+0

はい、少しです。大きな利点は、ユーザーがjQueryをダウンロードして初期化する必要がないことです。 –

+0

@Jack no、真剣に測定可能な値ではありません。しかし、あなたはjQueryをダウンロードしているところがありますが、CDNを使用すると大多数のクライアントにプリロードされていることは間違いありません) –

関連する問題