Vue ネットワーク リクエスト スキーム ネイティブ ネットワーク リクエストと js ネットワーク リクエスト ライブラリ

Vue ネットワーク リクエスト スキーム ネイティブ ネットワーク リクエストと js ネットワーク リクエスト ライブラリ

1. ネイティブネットワークリクエスト

1. XMLHttpRequest (W3C 標準)

// 約束がない場合の製品

その時は、全て呼び戻されて、面倒でした。

2. フェッチ

//promise に基づいて html5 によって提供されるオブジェクト。promise が存在するため、ネットワーク リクエストを簡素化するために使用されます。

Fetch の使用 - Web API リファレンス | MDN

Fetch は新しい Ajax ソリューションです。Fetch は Promise オブジェクトを返します。 Fetch は、Ajax をさらにカプセル化したものではなく、ネイティブ js であり、XMLHttpRequest オブジェクトを使用しません。

パラメータ:

1. 最初のパラメータは URL です。

2. 設定リクエストの2番目のパラメータはオプションパラメータです

3. 結果/コールバックを処理するためにPromiseを使用して返す

フェッチ(url、オプション)、次に(res=>res.json()/text())、次に(ret=>console.log(ret))

互換性の問題:

IE の下位バージョンが Fetch と互換性がない場合はどうすればいいですか? =》サードパーティのFetchライブラリ[fetch-polyfill]を使用する

fetch を使用してネットワーク リクエストを作成します。関連する操作を実行する前に、url1 url2 が両方のアドレスを同時に実行できるようにします。Promise.all

let url1 正常に実行されるかどうかに関係なく、Promise.finallyを処理する必要があります。

fetchはネットワークリクエストをカプセル化する

2. js ネットワークリクエストライブラリ

アクシオス

JSON データを Promise 型として返します。

ドキュメント: 説明書 · Axios 中国語説明書 · Kanyun

Axios は、ブラウザと node.js で使用できる promise ベースの HTTP ライブラリです。

リクエストとレスポンスをインターセプトし、JSON データを自動的に変換できます。 Axios は、Vue の作者が推奨するネットワーク リクエスト ライブラリでもあります。

// axios.get/post/put/delete
axios.get(url,config) // config はヘッダー情報を設定できます axios.post(url,data,config)
axios.put(URL、データ、設定)
axios.delete(url、データ、設定) 

またはインスタンス経由でリクエストする

インスタンスリクエストで設定情報(共通)を追加!

全員に対して設定されるので、インスタンス間で一律に設定しないでください(一般的には使用されません)。

// axios の axios.defaults.timeout = 10000 を設定します
axios.defaults.baseURL = 'http://localhost:3000'
axios.defaults.headers.a = '管理者'

投稿送信

// 投稿の送信 axios.post(url, { id: 1, name: 'aaaa' }).then(res => console.log(res.data))

または、axios は # 標準の書き方を直接使用します (一般的には使用されません)

// axios は axios({ を直接使用します
  URL、
  メソッド:'get',
  データ:{}
}).then(res => console.log(res))

インターセプターアスペクトプログラミング

(パイプライン) (ミドルウェア)

1. リクエストインターセプター(複数回呼び出すことができます)

axios.interceptors.request.use(config => {
  // リクエストドメイン名アドレスの統一設定 config.baseURL = 'http://localhost:3000'
  // タイムアウト config.timeout = 1000
  // ヘッダー情報を設定する config.headers.token = 'mytoken login'
  設定を返します。
}, err => Promise.reject(err))

2. レスポンスインターセプター(処理、フィルタリング)

axios.interceptors.response.use(レスポンス => {
  応答データを返す
}, エラー => {
  // これをレスポンスインターセプターで一様に処理できます。リクエスト例外アラート(「リクエストに失敗しました。再度リクエストしてください」)
  Promise.reject(err) を返します。
});

上記は、ネットワーク リクエスト ソリューションのネイティブ ネットワーク リクエストと js ネットワーク リクエスト ライブラリの詳細です。ネイティブ ネットワーク リクエストと js ネットワーク リクエスト ライブラリの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • js クロスドメイン リクエスト データの 3 つの一般的な方法
  • WeChatアプレットネットワークリクエストのパッケージ化とギャップの埋め合わせ
  • Vue プロジェクトでの Axios リクエスト ネットワーク インターフェースのカプセル化のサンプル コード
  • Vue が ajax リクエストを送信する詳細な説明
  • Vueネットワークリクエストのインターセプターの実用的応用に関する簡単な説明
  • Vueでデータを要求する3つの方法

<<:  MySQL シリーズ 11 ログ

>>:  HTML テーブル データを Json 形式に変換するサンプル コード

推薦する

mySQLキーワードの実行優先度の説明

以下のように表示されます。表から条件フィールドでグループ化仮想テーブルとフィールドを作成し、フィール...

MySQL データベースのステートメント ワイルドカード ファジー クエリの概要

MySQL エラー: パラメータ インデックスが範囲外です (1 > パラメータ数、つまり 0...

3次元画像配置効果を実現する純粋なCSSのサンプルコード

1. 要素の幅/高さ/パディング/マージンのパーセンテージ基準要素の幅/高さ/パディング/マージンの...

vuexの強制リフレッシュによるデータ損失問題の分析

vuex 永続状態基本原則: すべての vuex データをローカルストレージに保存し、ページが更新さ...

MySQL InnoDB ストレージ エンジンの詳細

序文MySQL では、InnoDB はストレージ エンジン レイヤーに属し、プラグインとしてデータベ...

LinuxにVSCodeをダウンロードしてインストールし、プログラミングを使用して現在の時刻を出力する

rpmコマンドがソフトウェアのインストールに使用するパラメータはどれですか: -i rpm コマンド...

HTML ファイルにファイルの内容を含める方法の概要

フォーラムでは、ネットユーザーから「HTML ファイル内の別の HTML ファイルの内容を読み取るこ...

CSS スタイルを使用して表のフォントを垂直中央に配置する方法

CSS スタイルを使用して表内のフォントを垂直方向に中央揃えする方法は次のとおりです。下図のようなカ...

JavaScript の new 演算子の原理と例の詳細な説明

新しい用途new の機能は、コンストラクターを通じてインスタンス オブジェクトを作成することです。イ...

MySQL 構成 SSL マスタースレーブ レプリケーション

MySQL5.6 SSLファイルの作成方法公式ドキュメント: https://dev.mysql.c...

HTML Web ページにおける URL の表現

HTML では、一般的な URL はさまざまな方法で表現されます。相対 URL:コードをコピーコード...

JavaScript における正規表現の実際的な応用の詳細な説明

実際の業務では、JavaScript の正規表現が依然として頻繁に使用されます。したがって、この部分...

MySQL 8.0.16 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.16圧縮パッケージのインストールと設定方法を参考までに紹介します。...

Linux で見つけるためのフレンドリーな代替手段 (fd コマンド)

fd コマンドは、Linux ファイル システムを検索するためのシンプルで簡単な方法を提供します。...