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つの方法のまとめ
CSS の開発履歴についてはここでは紹介しません。ブログを書いている理由の 1 つは、フロントエンド...
1. SSHリモート管理SSH の定義SSH (Secure Shell) は、主にキャラクタ イン...
ウェブフロントエンドのウェブサイトの気質は感情であり、言葉なしでユーザーを魅了できる感情です。では、...
この記事の例では、WeChatアプレットのシームレスなスクロールを実現するための具体的なコードを参考...
url-loader をダウンロード 糸を追加 -D URLローダー モジュール: { ルール: {...
MySQL 8.0.3がリリースされます。新機能を見てみましょうMySQL 8.0.3 は RC ...
<a> タグは主に、ハイパーリンクまたはアンカー リンクとも呼ばれるリンクとブックマーク...
mysql バッチで大量のデータを削除する1000万件のレコードを持つテーブル(syslogs)があ...
目次ReactHook とは何ですか? Reactは現在フックを提供している1. 使用状態2.use...
「初心者向けソースコードからの MySQL デッドロック問題の理解」では、MySQL ソースコードを...
前回は、Explain 実行プランの表示、インデックスの分析など、MySQL での SQL クエリの...
国慶節の休暇後、Windows アップデート後に VMware 仮想マシンが開けなくなり、「VMwa...
CN2ラインとは何ですか? CN2 は、China Telecom Next Carrier Ne...
目次1. マップ方式2. 応用背景:需要開発プロセス中に、一部のインターフェースは、ページに表示する...
目次1. 接続管理2. オプティマイザレベルでの改善3. 機能の改善4. パフォーマンススキーマの最...