Maison > Questions et réponses > le corps du texte
P粉4389183232023-08-24 16:31:57
Je sais qu'il peut y avoir des raisons spécifiques à React à ce problème, mais il est apparu en premier dans les résultats de recherche pour "Typeerror: Failed to fetch" et je voulais lister toutes les raisons possibles ici.
La spécification Fetch répertorie les cas où une TypeError est générée à partir de l'API Fetch : https://fetch.spec.whatwg.org/#fetch-api
Les paragraphes pertinents en janvier 2021 sont ci-dessous. Ce sont des extraits du texte.
4.6 Acquisition de réseau HTTP
Remplit les en-têtes de l'objet en-têtes en utilisant l'objet objet donné :
Les étapes de la méthode génèrent parfois des erreurs de type :
Dans la section "Body mixin", il existe plusieurs façons de générer une TypeError si vous utilisez FormData. Je ne les liste pas ici car cela rendrait cette réponse très longue. Passage pertinent : https://fetch.spec.whatwg.org/#body-mixin
Dans la section "Request Class", le nouveau constructeur Request(input, init) est un champ de mines d'erreurs de type potentielles :
En classe Réponse :
Dans la section "Obtenir des méthodes"
En plus de ces problèmes potentiels, certains comportements spécifiques au navigateur peuvent générer TypeError. Par exemple, si vous définissez keepalive sur true et que la charge utile est > 64 Ko, vous obtiendrez une TypeError sur Chrome, mais la même requête fonctionnera dans Firefox. Ces comportements ne sont pas documentés dans la spécification, mais vous pouvez rechercher des informations à leur sujet avec une recherche Google pour comprendre les limites de chaque option que vous définissez lors de la récupération.
P粉7014918972023-08-24 14:39:30
Cela peut être un problème avec la réponse que vous recevez du backend. Si cela fonctionne correctement sur le serveur, le problème peut provenir des en-têtes de réponse.
Lorsque la vérification de l'en-tête de réponse Access-Control-Allow-Origin
的值。通常,当响应标头的 Access-Control-Allow-Origin
ne correspond pas à la source de la requête, l'API de récupération générera une erreur non récupérable même si la réponse est reçue.