File:// URL からのリクエストに対する「Access-Control-Allow-Origin によってオリジン Null が許可されない」問題
はじめに:
ドメインとは異なるドメインに対して AJAX リクエストを実行する場合file:// URL を使用すると、開発者は「Origin null は Access-Control-Allow-Origin では許可されません」に関連するエラーが発生する可能性があります。この問題は、クロスドメイン リクエストを制限する Cross-Origin Resource Sharing (CORS) として知られるセキュリティ対策が原因で発生します。
問題:
から行われた AJAX リクエストfile:// URL には null オリジンが含まれていますが、これは CORS で許可されていません。ブラウザはこれらのリクエストをブロックして、異なるドメイン間のリソースへの不正アクセスを防ぎます。
解決策:
この問題を解決するには、次の 2 つの主な方法を使用できます。
JSONP を使用するリクエスト:
JSONP (JSON with Padding) は、応答をコールバック関数でラップすることでクロスドメイン リクエストを可能にする技術です。 URL でコールバック関数名を指定すると、ブラウザーは応答を AJAX リクエストではなく関数呼び出しとして解釈できます。 JSONP を使用するには:
例:
$.get(url, { callback: 'myCallback' }, function(data) { // Handle the response data });
HTTP URL を使用したテスト:
CORS 制限は適用されませんhttp:// URL からのリクエストに適用されます。したがって、http:// URL からのリクエストをテストすると、null オリジンの問題を回避できます。このアプローチは、サーバー側 CORS 構成のデバッグと検証に役立ちます。
トラブルシューティングのヒント:
以上が「file://」 URL からの AJAX リクエストが「Access-Control-Allow-Origin によって Origin Null が許可されていません」というメッセージで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。