## fetch API を「no-cors」モードで使用すると、不透明な応答が期待されているにもかかわらず、SyntaxError が発生するのはなぜですか?

Linda Hamilton
リリース: 2024-10-25 22:44:29
オリジナル
453 人が閲覧しました

## Why am I getting a SyntaxError when using fetch API with 'no-cors' mode despite expecting an opaque response?

不透明な応答が期待されているにもかかわらず、'no-cors' モードで API を取得エラーが発生しました

問題: モードが設定された API を取得しようとしました「no-cors」に設定すると、response.json() への応答で SyntaxError が発生します。

説明:

「no-cors」でフェッチ API を使用する場合モードでは、ブラウザーは CORS 権限を必要とするリクエストを何も通知せずに失敗させます。フェッチ操作が不透明な応答 (内容にアクセスできないことを意味します) を返すため、「予期しない入力の終わり」というエラー メッセージがスローされます。

解決策:

「不透明な応答がニーズを満たす場合」は、サーバーがリクエストに CORS アクセス許可を付与していないことを示します。この問題を解決するには、次の手順を実行する必要があります:

  • 「no-cors」モードを削除します: モードを「cors」に設定するか、完全に省略します。
  • CORS 権限を付与するようにサーバーを構成します: すべてのオリジンの場合は「Access-Control-Allow-Origin: *」、または「Access-Control-Allow-Origin: https」など、適切な CORS ヘッダーをサーバーの応答に追加します。特定のオリジンの場合は ://mysite.com です。

追加メモ:

CORS (クロスオリジン リソース共有) は、クロスサイト スクリプティングから保護します ( XSS) は、異なる発信元からのリソースへの不正アクセスを防止することによって攻撃します。 CORS 権限の付与は、セキュリティを維持するために慎重に行う必要があります。

参照:

  • [CORS 一般](https://stackoverflow.com/questions/) 6359744/クロスオリジンリソース共有とは何ですか)

以上が## fetch API を「no-cors」モードで使用すると、不透明な応答が期待されているにもかかわらず、SyntaxError が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!