
file:// URL からのリクエストに対する「Origin null is not allowed by Access-Control-Allow-Origin」エラー
問題: 開発者が file:// URL から jQuery の AJAX サポートを介してリクエストを行うときに問題が発生するパノラミオへ。 「Origin null is not allowed by Access-Control-Allow-Origin」というエラーがコンソールに表示されます。
根本原因分析:
-
不適切なリクエスト タイプ: GET リクエストでは、dataType の「jsonp」を使用するか、「callback=?」を含める必要があります。 URL 内で JSONP を有効にするため、クロスドメイン リクエストに必要です。
-
file:// URL の CORS 制限: クロスオリジン リソース共有 (CORS) ヘッダーは、次からのリクエストを承認できません。 file:// エコーバックを介した null の Origin ヘッダーを持つ URL
解決策:
問題を解決するには、次の手順が必要です:
-
JSONP を使用するリクエスト: $.getJSON を利用するか、$.get の dataType を「jsonp」に設定してください。 JSONP をトリガーします。「callback=?」の場合、リクエスト タイプを「jsonp」に変更します。 URL に存在します。
-
file:// URL は避けてください: file:// URL では CORS サポートが制限されているため、テストは必ず http:// URL 経由で実施してください。
トラブルシューティング手順:
-
JSONP の使用法を確認: $.get の dataType が jsonp に設定されているか、$.getJSON が "callback=?" で使用されていることを確認してください。
-
クロスドメイン リクエストの CORS: file:// URL に対する CORS 制限を回避するには、http:// 経由でテストします。 Opera と Internet Explorer の実装が遅れているため、ブラウザが CORS をサポートしていることを確認してください。
以上が「file://」 URL からの AJAX リクエストで「Origin null は Access-Control-Allow-Origin によって許可されていません」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。