1. クロスドメインを実現するためにCORSレスポンスヘッダーを設定するクロスオリジンリソース共有 (CORS) 1.1 CORSとは何かCORS (Cross-Origin Resource Sharing)、クロスオリジン リソース共有。 CORS は公式のクロスドメイン ソリューションです。クライアント側で特別な操作を必要とせず、サーバー側で完全に処理されるのが特徴です。get リクエストと post リクエストをサポートします。クロスオリジン リソース共有標準では、一連の HTTP ヘッダー フィールドが追加され、サーバーはブラウザーを通じてどのオリジンがどのリソースにアクセスできるかを宣言できるようになります。 1.2 CORS はどのように機能しますか?CORS は、リクエストがドメインをまたぐことが許可されていることをブラウザに伝えるために、レスポンス ヘッダーを設定します。レスポンスを受信すると、ブラウザはレスポンスを解放します。 1.3 CORS は何の目的で使用されますか?ajaxデモ.html <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <title>CORS</title> <スタイル> #結果 { 幅: 200ピクセル; 高さ: 100px; 境界線: 実線 1px #90b; } </スタイル> </head> <本文> <button>リクエストを送信</button> <div id="結果"></div> <スクリプト> const btn = document.querySelector('ボタン'); btn.onclick = 関数(){ //1. オブジェクトを作成する const x = new XMLHttpRequest(); //2. 初期化設定 x.open("GET", "http://127.0.0.1:8080/cors-server"); //3. 送信 x.send(); //4. イベントをバインドする x.onreadystatechange = function () { (x.readyState === 4)の場合{ (x.status >= 200 && x.status < 300) の場合 { document.getElementById('result').innerText = x.response; } } } } </スクリプト> </本文> </html> サーバー.js //1. エクスプレスをインポートする 定数 express = require('express'); //2. アプリケーション オブジェクトを作成する const app = express(); //3. ルーティングルールを作成する // request はリクエストメッセージのカプセル化です // response はレスポンスメッセージのカプセル化です app.all('/cors-server', (request, response)=>{ // レスポンス ヘッダーを設定します response.setHeader("Access-Control-Allow-Origin", "*"); // すべてのクロスドメイン リクエストを許可します* // response.setHeader("Access-Control-Allow-Origin", "http://127.0.0.1:5500"); // 指定されたリクエストがドメイン間をまたぐことを許可する // response.setHeader("Access-Control-Allow-Headers", '*'); // カスタム リクエスト ヘッダー タグを許可する // response.setHeader("Access-Control-Allow-Method", '*'); // すべてのリクエストがドメイン間をまたぐことを許可する * // response.setHeader("Access-Control-Allow-Method", 'get'); // ドメインを越えた get リクエストを許可する response.send('hello CORS'); }); //4. サービスを開始するためのリスニングポート app.listen(8080, () => { console.log("サービスが開始されました。ポート 8080 がリッスンしています..."); });
Ajax クロスドメイン ソリューションと、クロスドメイン ケースの詳細を実現するための CORS 応答ヘッダーの設定に関するこの記事はこれで終わりです。より関連性の高い Ajax クロスドメイン ソリューションのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL における 8 つの一般的な SQL 使用例
>>: VMware Workstation と vSphere 間で仮想マシンを移行する (画像とテキスト)
Docker の基盤技術: Docker の基盤となる 2 つのコア テクノロジーは、名前空間とコ...
UI カットのプロセスでは、ページはヘッダー、コンテンツ、フッターの 3 つの部分で構成されることが...
最近はコース設計を実現するために、フロントエンドも少しやっています。今日はいくつかの機能を実現するた...
LocalStorageはブール値を保存します今日、ブール値データを保存するために localsto...
初めてwampをインストールした後、すべてのサービスが正常に使用できますが、再起動するとwampのア...
目次1. テンプレート2. ジェネリック3. ジェネリック再帰4. デフォルトのジェネリックパラメー...
目次1. MySQLの関数の説明2. 単行関数の分類3. キャラクター機能4. 数学関数5. 日付と...
水平スクロールはあらゆる状況に適しているわけではありませんが、適切に行えば、Web サイトを他のサイ...
予防1) 先頭にインタープリターを追加します: #!/bin/bash 2) 構文のインデントに 4...
目次1. 2 つの setState を何回呼び出すのですか? 2. 2 つの setState の...
初めてのブログです。データベースの勉強を始めた頃のことを書いています。自分でダウンロードしたのですが...
目次イベントページの読み込みイベント委任イベントの切り替えイベント要約するイベントページの読み込み1...
1. Spring Boot は jsp jar パッケージをサポートしていません。jsp は wa...
文字列を動的に連結する場合、文字連結を使用することが多いです。次のような連結の引用符の意味がわかりま...
目次MySQL 結果のソート - 集計関数環境クエリ結果の並べ替えクエリのグループ化と集約生徒の平均...