非同期通信で、サーバー上のデータを取得する方法としてXMLHttpRequest、Fetch、$.ajaxがありますが、
この三つについて調べてみてもなかなか違いがよくわかりません。
もしかするとこの三つの中でプロトタイプオブジェクトのようにもうあまり使うべきではないものもあるかもしれないし、今は、この三つの中でこれ一択だ、なのかもしれません。
この三つの違いと今どれを使うのが適宜なのか教えてください。

回答2件
あなたの回答
tips
プレビュー
XMLは仕様の1つで、マークアップ言語群を構築するために使われています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。
非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。
Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。
XMLは仕様の1つで、マークアップ言語群を構築するために使われています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。
非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。
Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。
1グッド
5クリップ
投稿2018/09/28 09:25
非同期通信で、サーバー上のデータを取得する方法としてXMLHttpRequest、Fetch、$.ajaxがありますが、
この三つについて調べてみてもなかなか違いがよくわかりません。
もしかするとこの三つの中でプロトタイプオブジェクトのようにもうあまり使うべきではないものもあるかもしれないし、今は、この三つの中でこれ一択だ、なのかもしれません。
この三つの違いと今どれを使うのが適宜なのか教えてください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
バックグラウンドの非同期通信処理はXMLHttpRequestが基本となって、
fetchはPromiseを返すところがより扱いやすくなっています
fetchはXHRからの代替を目指していると考えてよいでしょう。
逆に新しい技術なので古いブラウザでの実働が難しいということです。
jQueryのライブラリは、ブラウザ間の誤差を埋めてくれるものなので
汎用性は高くなりますが、無駄な処理も多く総じて低速になりがちです。
投稿2018/09/28 10:53
編集2018/09/28 10:54総合スコア118000
0
ベストアンサー
非同期通信で、サーバー上のデータを取得する方法としてXMLHttpRequest、Fetch、$.ajaxがありますが、この三つについて調べてみてもなかなか違いがよくわかりません。
APIの呼び出し方法が違うだけで、どれも同じ機能です。
機能の優劣はありませんので、自分で決めた「動作対象ブラウザ」で実装されているかだけ注意すれば、好みで選んで問題ありません。
あえていえば、jQuery.ajax
はライブラリの機能なので、ビルトイン関数の方が高速に動作しますね。
もしかするとこの三つの中でプロトタイプオブジェクトのようにもうあまり使うべきではないものもあるかもしれないし、今は、この三つの中でこれ一択だ、なのかもしれません。
class構文はただの糖衣構文であり、Foo.prototype
と書くのが非推奨なわけではありません。
Object.create()
や Object.defineProperty
で利用する機会はあるでしょう。
そもそも、プロトタイプチェーンの概念は依然として生きています。
Re: aaaaaaaa さん
投稿2018/09/28 09:36
編集2018/09/28 09:42総合スコア18194
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/01 09:44
2018/10/01 10:23 編集
2018/10/02 08:31