Maison >interface Web >js tutoriel >Pourquoi est-ce que j'obtiens des erreurs « Fin inattendue d'entrée » lors du traitement des réponses de récupération « no-cors » ?

Pourquoi est-ce que j'obtiens des erreurs « Fin inattendue d'entrée » lors du traitement des réponses de récupération « no-cors » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-01 03:10:14317parcourir

Why Do I Get

Réponse de gestion - Fin inattendue de l'erreur de saisie avec le mode « sans cors »

Lors de l'utilisation du mode « sans cors » dans une récupération requête, vous pouvez rencontrer une « SyntaxError : Fin inattendue de l'entrée » lorsque vous tentez de gérer la réponse. Cette erreur est causée par la nature opaque des requêtes sans cors, qui interdit au JavaScript frontal d'accéder au corps ou aux en-têtes de la réponse.

Cause de l'erreur

Par paramètre En mode « no-cors », vous demandez au navigateur de bloquer l'accès JavaScript frontal à la réponse, quel que soit le code d'état de la réponse ou la présence d'en-têtes Access-Control-Allow-Origin. Cela empêche JavaScript d'analyser la réponse JSON et entraîne une erreur de fin d'entrée inattendue lors de l'appel de réponse.json().

Solution

Pour résoudre cette erreur, supprimez le paramètre de mode « no-cors » de votre demande. Si vous devez effectuer des requêtes d'origine croisée, envisagez les solutions suivantes :

  • Configurez le serveur : Activez CORS en définissant l'en-tête Access-Control-Allow-Origin sur le serveur -côté et en veillant à ce qu'il gère les demandes de contrôle en amont OPTIONS.
  • Utilisez un proxy CORS : Utilisez un proxy CORS pour transférer les demandes et masquer les problèmes inter-domaines. Les options populaires incluent cors-anywhere (https://github.com/Rob--W/cors-anywhere/) et d'autres services similaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn