WCF サービスへのクロスドメイン HTTP 要求を試みる場合は、CORS の制限を考慮することが不可欠です。この記事では、これらの障害を克服するために、OPTIONS を使用して HTTP リクエストをプリフライトする方法について説明します。
実際のリクエストを送信する前に、ブラウザは OPTIONS リクエストを使用してリクエストをプリフライトし、サーバーがリクエストを許可します。このステップには、2 つの特別なリクエスト ヘッダーの送信が含まれます:
これらのプリフライト リクエストに対応するには、サーバーは適切なヘッダーで応答する必要があります。
GET リクエストに jQuery.getJSON を使用するには、以下が必要ですOPTIONS リクエストによるプリフライト。これは次のように実装できます。
<code class="javascript">$.ajax({ url: "http://your.wcf.endpoint", type: "OPTIONS", success: function(data) { console.log("Preflight successful:", data); } }); $.getJSON("http://your.wcf.endpoint", function(data) { console.log("Actual GET request:", data); });</code>
次のヘッダーを持つ受信プリフライト要求を考えてみましょう:
Origin: http://yourdomain.com Access-Control-Request-Method: POST Access-Control-Request-Headers: X-Custom-Header
サーバーは次のように応答する必要があります。
Access-Control-Allow-Origin: http://yourdomain.com Access-Control-Allow-Methods: GET, POST Access-Control-Allow-Headers: X-Custom-Header
Access-Control-Request-Headers は Access-Control-Allow-Headers 応答でエコーされる必要があり、'*' ワイルドカードは許可されません。
以上がプリフライト オプションの要求により、WCF サービスへのクロスドメイン HTTP アクセスがどのように有効になりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。