ホームページ >ウェブフロントエンド >jsチュートリアル >「No 'Access-Control-Allow-Origin' Header」CORS エラーを解決するにはどうすればよいですか?

「No 'Access-Control-Allow-Origin' Header」CORS エラーを解決するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-22 16:43:10803ブラウズ

How Can I Resolve

「API 応答に 'Access-Control-Allow-Origin' ヘッダーが存在しません」

ヘッダー問題解決のための CORS プロキシ

サーバーを制御できない場合は、 CORS プロキシを使用してヘッダー不足を回避します。簡単にデプロイできるオプションの 1 つは cors-anywhere (https://github.com/Rob--W/cors-anywhere) で、いくつかのコマンドで設定できます。このプロキシは、必要な Access-Control-Allow-Origin ヘッダーを応答に追加します。

CORS プリフライトの回避

問題のコードは、Authorization ヘッダーにより CORS プリフライトをトリガーします。さらに、Content-Type: application/json もプリフライトを引き起こす可能性があります。これを回避するには、必要なヘッダーを含むプリフライト OPTIONS リクエストに適切に応答するようにサーバーを変更する必要があります。あるいは、これらのトリガーを回避するようにリクエストを設計すること (例: 別のヘッダーや埋め込み JSON の使用) を検討することもできます。

"Wildcard" Access-Control-Allow-Origin Issue

資格情報を含む応答の場合、Access-Control-Allow-Origin ヘッダーの値を「*」にすることはできません。 「http://127.0.0.1:3000」などのフロントエンド コードの起源と正確に一致する必要があります。ヘッダーの元の値を自動的に反映するようにサーバー構成を調整できます。

不要なリクエスト ヘッダーの削除

これらの行は応答ヘッダーを表すため、JavaScript コードから削除し、リクエストに含めないでください:

headers.append('Access-Control-Allow-Origin', 'http://localhost:3000');
headers.append('Access-Control-Allow-Credentials', 'true');

以上が「No 'Access-Control-Allow-Origin' Header」CORS エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。