1. クロスドメインはどのように形成されるのでしょうか?現在のページ URL のプロトコル、ドメイン名、またはポートとは異なるプロトコル、ドメイン名、またはポートを持つ URL を要求することを、クロスドメインと呼びます。 クロスドメインにより次のことが起こります: 2. クロスドメインの根本的な原因クロスドメインリクエストの根本的な原因は、リクエスト元のブラウザの同一オリジンポリシーであり、クロスドメインリクエストエラーの理由は次のとおりです。ブラウザの同一オリジンポリシー && リクエストがAjaxタイプ && リクエストが実際にクロスドメインである 3. 解決策jsonp、cors、プロキシ転送の3つの方法を紹介します 1. JSONP JSONP は、サーバーとクライアント間のクロスオリジン通信によく使用される方法です。最大の特徴は、シンプルさ、適用性、優れた互換性(IE の下位バージョンと互換性がある)です。欠点は、GET リクエストのみをサポートし、POST リクエストはサポートしていないことです。 非常に簡単な例を見てみましょう。img タグの src 属性を通じて、ネットワーク アドレスから画像を要求します。これは同一オリジンではない要求ですが、ブラウザーの同一オリジン ポリシーは Ajax 要求に対してのみ有効であるため、要求は影響を受けません。つまり、クロスドメインの問題が発生するのは Ajax リクエストのみです。 2. CORSCORS は、Cross-Origin Resource Sharing の略です。これは W3C 標準であり、クロスオリジン AJAX リクエストの基本的なソリューションです。 CORS はあらゆるタイプのリクエストを許可します。 CORS を使用してデータにアクセスする場合、クライアントはデータ アクセス ロジックを変更する必要はありません。すべての作業はサーバーとブラウザ間で自動的に実行されます。フロントエンド コードは、通常の Ajax リクエストを送信する場合と変わりません。サーバー側で設定するだけで済みます (バックエンドはアクティブです)。 3. プロキシ転送フロントエンド サービスとバックエンド インターフェイス サービスの間に中間プロキシ サービスを設定します。そのアドレスはフロントエンド サーバーのアドレスと同じままです。次に、次の操作を実行します。 vue.config.js の devServer (開発環境) でプロキシ サーバーを構成し、このプロキシ サーバーを介してリクエストを送信します。これは純粋なクロスドメインの問題ではありません。コードは次のとおりです。 モジュール.エクスポート = { 開発サーバー: { // ... 省略 // プロキシ設定 proxy: { // リクエストアドレスが /api で始まる場合、プロキシメカニズムがトリガーされます // http://localhost:9588/api/login -> http://localhost:3000/api/login '/api': { target: 'http://localhost:3000' // プロキシする実際のインターフェースアドレス} } } } } baseURL のルート パスは絶対アドレスではなく相対アドレスであることに注意してください。 上記は、Ajax リクエスト フロントエンドにおけるクロスドメイン問題の原因と解決策の詳細な内容です。Ajax クロスドメイン問題の原因と解決策の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: ウェブデザイン研究における XHTML の応用の概要
>>: Docker - コンテナマウントディレクトリを変更する3つの方法のまとめ
まず、MySQL公式サイトからインストールパッケージをダウンロードします。MySQLはオープンソース...
Linux ストリーム エディターは、データ センターでスクリプトを実行するのに便利な方法です。これ...
HTML は Hypertext Markup Language の略です。現在、ほとんどの Web...
メインライブラリの実行 CREATE DATABASE test CHARACTER SET utf...
CSS3 では、transform 関数を使用して、テキストや画像の回転、拡大縮小、傾斜、移動という...
最近Nginxを構築しているのですが、ドメイン名でアクセスできません。 nginx 構成ファイル n...
cellspacing は表内のセル間の距離です。セルパディングは、表のセル内の空白スペースです。一...
アンカータグの使用法:同じドキュメント内の特定の場所にリンクすることをアンカー リンクと呼びます。ア...
入力ボックスの値を取得する複数の方法最初の方法は、制御されていないコンポーネントの取得です2番目の方...
目次1. はじめに2. 最初の方法3. 2番目の方法要約する1. はじめにVue プロジェクトの開発...
HTML を初めて使用する多くの人にとって、テーブル <table> は最もよく使用され...
目次出力出力パス出力.publicPath webpack-dev-server の publicP...
この記事の例では、vue3 が独自のページングコンポーネントをカプセル化する具体的なコードを参考まで...
達成される効果は次のとおりです。 マウスがボタン内に移動すると、ネオンライトのような効果が生成され、...
Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒントbashに詳しい人なら、hi...