“TypeError: failed to fetch” lorsque la demande n'a pas vraiment manqué
Je suis en utilisant chercher de l'API dans mon Réagir app. L'application a été déployée sur un serveur et fonctionnait parfaitement. Je l'ai testé plusieurs fois. Mais, soudain, l'application a cessé de fonctionner et je n'ai aucune idée pourquoi. Le problème est quand j'envoie un get
demande, je reçois une réponse valide à partir du serveur, mais aussi de l'extraction de l'API est de l'interception d'une exception et montrant TypeError: failed to fetch
. Je n'ai même pas procédé à des changements dans le code et c'est le problème avec tous les Réagir composants.
Je reçois une réponse valide.
Mais aussi obtenir cette erreur en même temps.
fetch(url)
.then(res => res.json())
.then(data => {
//do something with data
})
.catch(rejected => {
console.log(rejected);
});
Quand j'enlève credentials: "include"
, il fonctionne sur localhost, mais pas sur le serveur.
J'ai essayé toutes les solutions fournies sur StackOverflow et GitHub, mais c'est juste pas pour moi.
pouvez-vous enlever le parsing json et voir si elle fonctionne bien?
Je l'ai enlevé et il ne fonctionne pas bien.
Semble comme Yugantar réponse a résolu votre problème?
le problème était que de
http://
pas mentionné dans l'adresse en ACAO.
OriginalL'auteur Amanshu Kataria | 2018-03-17
Vous devez vous connecter pour publier un commentaire.
La question pourrait être la réponse que vous recevez de back-end. Si ça marchait très bien sur le serveur puis le problème pourrait être avec les en-têtes de réponse.
De vérifier la Access-Control-Allow-Origin (ACAO) dans les en-têtes de réponse. Habituellement réagir de chercher de l'API de jeter ne parviennent pas à récupérer, même après avoir reçu de réponse lorsque les en-têtes de réponse' ACAO et l'origine de la demande ne correspond pas.
code
exemple serait génial 🙂OriginalL'auteur yugantar
Remarque qu'il y a un autre problème dans votre code, mais qui pourrait vous mordre plus tard: vous devez
return res.json()
ou vous ne serez pas attraper toute erreur survenant en JSON l'analyse ou de votre propre fonction de traitement des données.Arrière de votre erreur: Vous ne peut pas ont un
TypeError: failed to fetch
avec un succès de la demande. Vous avez probablement une autre demande (cochez votre "réseau" du panneau de voir tous) que les pauses et les causes de cette erreur afin d'être enregistré. Aussi, peut-être cochez la case "Conserver l'historique" pour être sûr que le panneau n'est pas effacée par un indélicat de redirection. Parfois, il m'arrive d'avoir une persistance de la "console", et a effacé "réseau" du panneau qui me pousse à avoir d'erreur dans la console qui est en fait sans rapport avec le visible demandes. Vous devriez vérifier.Ou vous (mais ce serait vicieux), ont en réalité une codé en dur
console.log('TypeError: failed to fetch')
finale de votre.catch
😉 et l'erreur est en réalité dans votre.then()
mais c'est difficile à croire.OriginalL'auteur naholyr