web-dev-qa-db-fra.com

Obtention de "TypeError: impossible de récupérer" lorsque la demande n'a pas réellement échoué

J'utilise fetch API dans mon React application. L'application a été déployée sur un serveur et fonctionnait parfaitement. Je l'ai testée plusieurs fois. Mais, tout à coup, l'application a cessé de fonctionner et je ne sais pas pourquoi. Le problème est lorsque j'envoie une demande get, je reçois une réponse valide du serveur, mais l'API fetch intercepte une exception et affiche TypeError: failed to fetch. Je n'ai même pas apporté de modifications au code et c'est le problème avec tous les composants React.

Je reçois une réponse valide.

enter image description here

Mais aussi obtenir cette erreur en même temps.

enter image description here

fetch(url)
.then(res => res.json())
.then(data => {
  // do something with data
})
.catch(rejected => {
    console.log(rejected);
});

Lorsque je supprime credentials: "include", cela fonctionne sur localhost, mais pas sur le serveur.

J'ai essayé toutes les solutions proposées sur StackOverflow et GitHub, mais cela ne fonctionne tout simplement pas pour moi.

32
Amanshu Kataria

J'ai un problème similaire et comme je suis un débutant, voici quelques faits à dire à quelqu'un:

J'envoie les données du formulaire à la feuille Google de cette façon (scriptURL est https://script.google.com/macros/s/AKfy ..., showSuccess () montre une image simple):

fetch(scriptURL, {method: 'POST', body: new FormData(form)})
.then(response => showSuccess())
.catch(error => alert('Error! ' + error.message))

Exécuté dans Edge, mon HTML n'affiche pas d'erreur et l'onglet Réseau signale ces 3 demandes: Edge execution Exécuté en Chrome mon HTML (index.htm) affiche Impossible de récupérer l'erreur et l'onglet Réseau le signale 2 demandes: Chrome execution La valeur dans la deuxième colonne est bloquée: autre et il y a aussi une erreur dans l'onglet Console:

OBTENIR https://script.googleusercontent.com/macros/echo?user_content_key=D-ABF ... net :: ERR_BLOCKED_BY_CLIENT

Afin de suspendre les extensions Chrome Chrome installées, j'ai exécuté mon code dans une fenêtre de navigation privée et il n'y a pas de message d'erreur et l'onglet Réseau signale ces 2 demandes: Incognito execution

Je suppose que quelque chose (extension?) Empêche Chrome de lire la réponse de la demande (la demande GET est bloquée).

0
S. Hristov