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データベース最適化技術の簡単な紹介

推薦する

pt-heartbeat を使用して MySQL レプリケーションの遅延を監視する方法の詳細な説明

pt-ハートビートデータベースがマスターとスレーブ間で複製される場合、複製ステータスとデータ遅延は非...

JavaScript を使用してタイムラインとアニメーション効果を実装するためのサンプル コード (フロントエンドのコンポーネント化)

目次コードのクリーニングJavaScript の「フレーム」 「フレーム」の実装方法1. 間隔を設定...

レスポンシブなアコーディオン効果を実現するための CSS3 の詳細な説明

最近、外国人が CSS3 を使用してアコーディオン効果を実現しているビデオを見たので、自分で学習した...

Linux または Android でファイル システムを追加する属性インターフェイスを解析する方法

最初のもの: 1. 主要なヘッダーファイルを追加します。 #include <linux/of...

js を使用して 2 つの HTML ウィンドウ間で通信する方法

シナリオ: ページAがページBを開くと、ページBで操作した後、ページAは変更されたデータを同期する必...

MySQL インデックスの長所と短所、およびインデックス作成のガイドライン

1. インデックスを作成する理由(メリット)インデックスを作成するとシステムのパフォーマンスが大幅に...

MySQL 増分バックアップとブレークポイントリカバリスクリプトの例

導入増分バックアップとは、完全バックアップまたは最後の増分バックアップの後、後続の各バックアップでは...

favico.ico---ウェブサイトicoアイコン設定手順

1. 正常に生成されたアイコン ファイルをダウンロードし、名前を favico.ico に変更して、...

HTML特殊文字の徹底分析

HTML徹底解析(14)特殊文字 ■ よく使われる特殊文字 HTMLタグを知っていれば、特殊文字の使...

ウェブページデザインのための4つの実践的なヒント

関連記事: Web コンテンツ ページを作成するための 9 つの実用的なヒント<br />...

Linux カーネル デバイス ドライバー カーネル時間管理に関する注意事項

/****************** * Linux カーネルの時間管理 ***********...

ページ内にマーキーとフラッシュが共存する場合の競合解決

競合の主な症状は、FLASH ボタンがジャンプし続け、不安定になり、Web ページの外観と通常のアク...

HTML のフォームフォームのメソッド属性の紹介

1 メソッドは、データをサーバーに送信する方法を指定するプロパティです。 2 post と get ...

ウェブページ入力ボックスのスタイルトリガー効果

<br />この例では、主に onblur と onFocus という 2 つのパラメー...

PHP-HTMLhtml 重要な知識ポイントメモ(必読)

1. フレームセット、フレーム、iframeを使用して複数のウィンドウを実現する2. 画像上のマッ...