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 8.0.13 のインストールと設定方法を皆さんと共有したいと思います。お役に立てれば幸...
Linuxシステムをお持ちでない場合は、ダウンロードとインストールについてはhttps://www....
参考までに、JavaScriptのオブジェクトとメソッドを使用して実装されたWebピンボールゲームを...
luaをインストールする http://luajit.org/download/LuaJIT-2.0...
目次序文ストアドプロシージャ: 1. ストアドプロシージャの作成と呼び出し1. ストアドプロシージャ...
ヒントこのプラグインは https プロトコルでのみアクセスできます。http プロトコルはうまく機...
次の図に示すように: Centos 7.0以上であれば問題ありません。現在のシステム カーネル バー...
目次1. コンポーネントとは何ですか? 2. グローバルコンポーネントを作成する方法1 1. Vue...
ウェブサイトがワイドスクリーンの場合、ブラウザ ウィンドウを左右にドラッグすると、ウェブサイトの幅が...
目次1. ダウンロード2. インストール3. my.ini ファイルを設定する(デフォルトのエンコー...
JSはショッピングカート内の商品の合計金額を計算して参考とします。具体的な内容は以下のとおりです。質...
目次1. beforeCreate & created 2. マウント前とマウント済み3. ...
なぜ高さを設定できるのでしょうか。<h1 /> などの要素とは異なり、「セミインライン」...
CSS でテキストアイコンを実装する方法 /*アイコンスタイル*/ .nav-icon-norma...
MySQL 8.0のインストールと設定方法は参考までに。具体的な内容は以下のとおりです。ダウンロード...