JavaScriptでHTTPリクエストを発行する最も一般的な方法

2469 ワード

JavaScriptは、サーバ側のリソースからデータを送信または受信するために使用できるHTTPリクエストを送信するための良いモジュールおよび方法を有する.本稿では、JavaScriptでHTTPリクエストを発行するポピュラーな方法について説明します.
Ajax
Ajaxは、非同期HTTPリクエストを発行する従来の方法である.HTTP POST方式でデータを送信し、HTTP GET方式でデータを受信することができる.GETリクエストの送信を見てみましょう.JSOnPlaceholderを使います.これは無料のオンラインREST APIで、JSON形式でランダムなデータを返す開発者に適しています.AjaxでHTTP呼び出しを行うには、新しいXMLHttpRequest()メソッドを初期化し、URLエンドポイントとHTTPメソッド(この例ではGET)を指定する必要があります.最後に,このopen()メソッドを用いてHTTPメソッドとURL端点を結合し,send()メソッドを呼び出して要求をトリガする.XMLHTTPRequest.onreadystatechangeを使用して、readystatechangedイベントのトリガー時に呼び出すイベントハンドラのプロパティを含むHTTP応答をコンソールに記録します.
ブラウザコンソールを表示すると、JSON形式のデータ配列が返されます.しかし、私たちはどうして要求が完了したかどうかを知っていますか?つまり、Ajaxを使用して応答を処理する方法は?このonreadystatechangeには2つの方法があります.readystateとstatusでは、リクエストのステータスを確認できます.
readyStateが4に等しい場合は、リクエストが完了したことを示します.JavaScriptを使用してAjax呼び出しを直接行うほか、$.AjaxjQueryメソッドなど、より強力なHTTP呼び出しメソッドもあります.
jQueryメソッドjQueryでは、HTTPリクエストを簡単に処理できる方法がたくさんあります.これらのメソッドを使用するには、jQueryライブラリをプロジェクトに含める必要があります.
$.ajax
jQuery AjaxはHTTP呼び出しを行う最も簡単な方法の一つである.
$.ajaxメソッドには多くのパラメータが必要です.いくつかは必須で、いくつかはオプションです.コールバックオプションsuccessが2つあり、errorは受信した応答を処理します.
$.getメソッド
$.getメソッドは、GETリクエストを実行するために使用されます.要求アドレスとコールバック関数の2つのパラメータが必要です.
$.post
この$.postメソッドは、サーバにデータをパブリッシュする別の方法です.要求されたurlアドレスが送信するデータとコールバック関数の3つのパラメータが必要です.
$.getJson
この$.getJSONメソッドはJSON形式のデータのみを取得します.urlとコールバック関数の2つのパラメータが必要です.
jQueryには、リモート・サーバにデータを要求またはパブリッシュするためのすべての方法があります.しかし、実際には、これらのすべての方法を1つにまとめることができます:$.ajax方法、次の例に示します.
Fetch
fetchは新しい強力なWeb APIで、非同期リクエストを発行することができます.実際、このfetchはHTTPリクエストを作成する最良の方法と最も好きな方法の一つです.ES 6の大きな特徴である「Promise」を返します.ES 6に詳しくない場合は、ES 6に関する文章を読むことができます.Promiseでは、非同期リクエストをよりスマートに処理できます.fetchテクノロジーがどのように機能しているかを見てみましょう.
このfetch関数には、endpointURLという必須パラメータが必要です.次の例に示すように、他のオプションパラメータもあります.
ご覧のように、fetchがHTTPリクエストを作成するメリットはたくさんあります.また、fetchには、Axiosなどの要求をサーバ側に送信して受信ことができる他のモジュールやプラグインもある.
Axios
AxiosはHTTPリクエストを発行するためのオープンソースライブラリであり、多くの強力な機能を提供しています.どのように働いているのか見てみましょう.
使用法:まず、Axiosを含める必要があります.プロジェクトにAxiosを含めるには2つの方法があります.まずnpm:npm install axios --saveを使ってimport axios from 'axios'を導入する必要があります
axiosを使用してリクエストを発行:Axiosを使用して、GETとPOSTを使用してサーバからデータを取得してパブリッシュできます.
axiosは必須パラメータを使用するか、2番目のオプションパラメータを使用することができます.これにより、いくつかのデータが単純なクエリーとして使用されます.
POST:Axiosは「Promise」を返します.promisesに詳しい場合は、promiseが複数のリクエストを実行できることを知っているかもしれません.axiosを使用して、同じ操作を実行し、複数のリクエストを同時に実行できます.
Axiosは他の多くの方法とオプションをサポートしています.公式サイトで彼らを知ることができます