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 形式に変換するサンプル コード

推薦する

ログインボックスのメールプロンプトを実装するネイティブJS

この記事では、登録またはログイン時に電子メール アドレスを入力する際のドロップダウン プロンプトのネ...

Web ページは何ピクセルで設計すればよいでしょうか?

多くのウェブデザイナーは、ウェブページのレイアウトを設計する際に、インターフェースウェブページの幅に...

純粋な CSS3 で水平無限スクロールを実装するためのサンプル コード

この記事の例はすべて小さなプログラムで書かれていますが、実装される機能には影響しません。 wxmlル...

フレックスレイアウトとposition:absolute/fixedの競合の詳細な説明

以前、プロジェクトを開発しているときに、flex レイアウトと position:absolute/...

Vue3.0 エラーの解決策: モジュール 'worker_threads' が見つかりません

vue3.0 への最初の試みを記録します。プロジェクトを開始したときに、「モジュール 'wo...

Alibaba Cloud Server の詳細な展開 (グラフィック チュートリアル)

最近、Web 開発のフロントエンドとバックエンドの技術を学んだので、その後の管理を容易にするためにプ...

JavaScript 非同期プログラミングにおける Promise の初期の使用法の詳細な説明

1. 概要Promise オブジェクトは、ES6 で提案された非同期プログラミングの仕様です。非同期...

MySQL 5.7.21 解凍版のインストールと設定方法のグラフィックチュートリアル (win10)

MySQL 5.7.21 解凍版のインストールと設定方法は参考までに。具体的な内容は以下のとおりで...

CSSはボックスコンテナ(div)の高さを常に100%に設定します。

序文ブラウザをどのようにズームしても、ボックス コンテナーの高さを常に 100% に保つ必要がある場...

Windows 版 MySQL のインストール、起動、基本設定に関する詳細なグラフィック チュートリアル

ダウンロード:ステップ 1: ウェブサイトを開きます (ダウンロードするには公式ウェブサイトにアクセ...

Nexus サーバーを設定するための詳細な手順

1. ネクサスサービス構築の意義イントラネットの統合プロキシとして、チームで共同開発する場合、全員が...

Vue3 でタイマーコンポーネントをカプセル化する方法

背景一部のショッピング モールの Web ページで商品の詳細を開くと、購入数量を選択するためのカウン...

Nodejs と Socket.IO を組み合わせて Websocket の即時通信を実現

目次WebSocketを使用する理由ソケット.ioオープンソースプロジェクト効果プレビューアプリイン...

js のマクロタスクとマイクロタスクについての簡単な説明

目次1. JavaScriptについて2. JavaScript イベントループ3. マクロタスクと...

アイデア展開Tomcatサービス実装プロセス図

まずプロジェクトの成果物を構成するスタートアップ項目の設定 Tomcatサービスを作成する開始したい...