予期しない入力の終了: ReactJS での Fetch 呼び出しによる SyntaxError の解決
ReactJS を使用して REST API 呼び出しからの応答を処理しようとすると、次のエラーが発生する場合があります:
SyntaxError: Unexpected end of input
このエラーは頻繁に発生します。この問題は、フェッチ リクエストで mode: 'no-cors' 設定を使用しているときに発生します。
CORS (Cross-Origin Resource Sharing) とは何ですか?
CORS はセキュリティです異なるオリジン (つまり、異なる Web サイトや URL) からのスクリプトが他のオリジンのリソースにアクセスしたり変更したりすることを防ぐメカニズム。これにより、未承認のスクリプトが他の Web サイトからデータを盗んだり操作したりすることができなくなります。
「no-cors」モードで問題が発生する理由
モードを「no-cors」に設定することで、の場合は、プリフライト リクエストを実行しないように、または CORS ヘッダーを送信しないようにブラウザーに明示的に指示します。これは、サーバーからの応答がフロントエンド JavaScript コードに対して不透明になることを意味します。
エラーを解決する方法
エラーを解決するには、モード: フェッチリクエストの「no-cors」設定。これにより、ブラウザーは必要な CORS ヘッダーを送信し、応答を適切に処理できるようになります。
代替ソリューション
モードを削除できない場合: 'no-cors ' サーバーの構成または制限により設定が変更される場合は、次のいずれかの使用を検討してください。回避策:
サーバーの構成:
CORS プロキシを使用する:
これらの推奨事項に従うことで、ReactJS で REST API 呼び出しからの応答を効果的に処理し、モード 'no によって発生する「予期しない入力の終了」エラーを回避できます。 -cors の設定。
以上がReact Fetch 呼び出しの「構文エラー: 入力の予期しない終了」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。