ホームページ > 記事 > ウェブフロントエンド > ローカル AJAX リクエストで「クロスオリジン リクエストは HTTP でのみサポートされています」エラーがスローされるのはなぜですか?
XMLHttpRequest クロスオリジン エラー
ローカル Web サーバーから AJAX リクエストを実行しようとすると、開発者は「クロスオリジンリクエスト」というエラーが発生する場合があります。 HTTP でのみサポートされます。」このエラーは、リクエストがクロスドメインでないにもかかわらず発生します。
原因
このエラーは、異なるドメイン間のクロスオリジン通信を制限するブラウザのセキュリティ ポリシーによってトリガーされます。セキュリティ上の理由からのプロトコル。ただし、この場合、リクエストはローカル サーバーからローカル リソースに対して行われているため、基本的に同一オリジンになります。
解決策
この問題を解決するには, Chrome ユーザーは次のスイッチでブラウザを起動できます:
--allow-file-access-from-files
MacOS
<code class="pre">open -a 'Google Chrome' --args -allow-file-access-from-files</code>
Linux
<code class="pre">google-chrome --allow-file-access-from-files</code>
Windows
Chrome ショートカットのプロパティの「ターゲット」パスの末尾にスイッチを追加します。
<code class="pre">C:\ ... \Application\chrome.exe --allow-file-access-from-files</code>
このスイッチを有効にすると、 Chrome では、AJAX リクエストがローカル ファイルとリソースにアクセスできるようになり、「クロスオリジン リクエストは HTTP でのみサポートされていますが、クロスドメインではありません。」というエラーが解決されます。
以上がローカル AJAX リクエストで「クロスオリジン リクエストは HTTP でのみサポートされています」エラーがスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。