Vue のクロスドメイン問題の処理と解決策の概要

Vue のクロスドメイン問題の処理と解決策の概要

ネットワークリクエストを送信すると、次の保存情報が表示されます。おめでとうございます。ドメインを越えました。

発信元「XXXXXX」からの「XXXXX」のXMLHttpRequestへのアクセスはブロックされました
CORS ポリシー: プリフライト リクエストへの応答がアクセス制御チェックに合格しません:
要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。

1.1 クロスドメインとは何ですか?

クロスドメイン問題は、ブラウザの相同性ポリシーが原因で発生します。相同性とは、2 つのページのプロトコル、ホスト、ポート番号が同じであることを意味します。これは、ブラウザのコア機能であり、最も基本的な機能です。相同性ポリシーがなければ、ブラウザは非常に危険になり、いつでも攻撃を受ける可能性があります。

プロトコル名、ドメイン名、ポート番号のいずれかが異なる場合、クロスドメイン問題が発生します。

ここで強調しておきたいのは、クロスドメイン処理はリクエストが送信されなかったことを意味するわけではないということです。これは、リクエストが正常に送信され、サーバーもデータを返したが、ブラウザがセキュリティ上の理由でそれを拒否したことを意味します。

2.2 クロスドメインの問題を解決するには?

1. 方法1

条件が許せば、バックエンドと通信できます。バックエンドは応答時にレスポンス ヘッダーを追加し、フロントエンドは操作なしでクロスドメインを処理できます。

2. 方法2

Vue スキャフォールディングは非常にシンプルなメソッドを提供します:

cli3 以上を使用している場合、ディレクトリ内に設定ファイルはありません。ルートディレクトリに vue.config.js ファイルを作成し、必要な設定情報を追加する必要があります。

モジュール.エクスポート={
    ページ: {
        索引: {
        //エントリ:"src/main.js",
        },
    },
    開発サーバー: {
        プロキシ: {
            '/api': {
                ターゲット: 'リクエストするURL'、
                パス書き換え:{'^/api':''},
                ws: 真、
                変更元: true
            }
        }
    }
}

サーバーとサーバーの間にクロスドメインの問題がないため、ブラウザではなくバックエンドからデータを要求するためのプロキシ サーバーが作成されます。

このプロキシサーバーのプロトコルドメイン名とポート番号は、プロジェクトを実行するときのプロトコルドメイン名とポート番号と同じです。

http://localhost:8080/api を使用します。データを要求するときに /api を追加すると、クロスドメインを処理する必要があることが認識されます。追加しない場合は、プロジェクトのルートディレクトリ内の対応するデータにアクセスすることになります。

3. 方法3

jsonp を使用していますが、post、put、patch などの get リクエストのみを処理できます。

これで、Vue のクロスドメイン処理の問題に関するこの記事は終了です。Vue のクロスドメイン処理に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue はクロスドメインの問題を解決します (推奨)
  • Vue プロジェクト展開のクロスドメイン問題の詳細な解決プロセス
  • Vueプロジェクト構成のクロスドメインアクセスとプロキシ設定方法
  • Vue クロスドメイン処理方法 (Vue プロジェクトでの baseUrl 設定の問題)

<<:  Tcl言語に基づくシンプルなネットワーク環境を構成するプロセスの分析

>>:  MySQLデータベース最適化技術の簡単な紹介

推薦する

MySQL スロークエリログの基本的な使い方チュートリアル

スロークエリログ関連のパラメータMySQL スロー クエリ関連のパラメータの説明: slow_que...

Alibaba Cloud ECS サーバーの開始プロセス (初心者必読のチュートリアル)

1. Alibaba Cloudは、個人のニーズに応じて適切なクラウドサーバーを選択し、CPU、メ...

Vue.js の計算プロパティ、監視プロパティ、ライフサイクルの詳細な説明

目次序文計算されたプロパティ計算プロパティの紹介入門ケース統計価格事例ゲッターメソッドとセッターメソ...

ウェブデザイナーは3つの側面からウェブページを最適化する必要がある

<br />帯域幅の増加に伴い、Web ページ上のオブジェクトも増えているため、Web ...

折りたたまれたテーブル行要素のバグ

例を見てみましょう。コードは次の通り非常にシンプルです。コードをコピーコードは次のとおりです。 &l...

MySQL で期限切れのデータレコードを定期的に削除する簡単な方法

1. MySQL に接続してログインしたら、まず MySQL でイベント機能が有効になっているかどう...

カレンダーウィジェットのネイティブJS実装

この記事の例では、カレンダーウィジェットを実装するためのjsの具体的なコードを参考までに共有していま...

jQuery ツリービュー ツリー構造アプリケーション

この記事では、jQueryツリービューツリー構造のアプリケーションコードを例として紹介します。具体的...

Vueはシンプルな画像切り替え効果を実装します

この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。 コー...

JavaScript プログラムのループ構造の詳細な説明

目次構造を選択ループ構造その間…しながらforループ…のために…で…の…のためにまとめループの終了壊...

iframe を使用して Web ページに他の Web ページを埋め込む方法

iframe の使い方:コードをコピーコードは次のとおりです。 <DIV align=cent...

VMWare仮想マシンにCentOS7システムをインストールする詳細な手順

インストール前の作業: VMware Workstation がインストールされていることを確認し、...

ワンクリックで雨や雪のエフェクトを実現する ThingJS パーティクルエフェクト

目次1. パーティクルエフェクト2. シーンを読み込む3. さまざまな粒子効果の実現エンディング: ...

Vueは小さな検索機能を実装する

この記事の例では、検索機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的な...

ウェブページ HTML 特殊記号 HTML 特殊文字比較表

特殊記号名前付きエンティティ10進数エンコード特殊記号名前付きエンティティ10進数エンコードアルファ...