L'erreur apparaît dans l'image ci-dessous dans les outils de développement de Safari (onglet Réseau) pour XHR/Fetch. Le corps de la réponse n'est pas visible. Il y a toujours le texte rouge "Une erreur s'est produite lors de la tentative de chargement de la ressource". Ma pensée initiale était que l'outil devtool ne prendrait pas en charge l'extraction par opposition à XHR. Mais Safari 12 le supporte.
Système d'exploitation: MacOS High Sierra Navigateur: Safari 12 & Technology Preview 66
Cela at-il quelque chose à voir avec les en-têtes de réponse? XSS ou autre chose? PS: le même corps de réponse est visible dans l'outil de développement de chrome.
Sur la droite de la barre de menus avec aperçu, il y a response
avec une flèche à côté, cliquez dessus et passez à JSON
qui devrait suffire.
Le message d'erreur du navigateur décrit les conditions requises pour que cette demande se termine avec succès.
Le serveur doit accorder l'accès à la ressource demandée à votre domaine distant en envoyant un en-tête de réponse Access-Control-Allow-Origin
.
Dans Safari 12, sélectionnez la ligne dans l'onglet Réseau. La réponse sera affichée dans la zone principale. Au-dessus, il y aura quelques onglets. Sélectionnez l'onglet En-têtes et examinez la partie requête des données affichées pour obtenir des informations sur la requête. Pour plus de détails sur les données de la demande, consultez la rubrique "Données de la demande". Le cas échéant, il y aura une petite flèche sur laquelle vous pourrez appuyer pour voir le contenu complet de la demande.
fetch()
.Pour résoudre ce problème, j'ai facilement converti de fetch()
en axios
.
body
est devenu data
json
décodé automatiquementcredentials
est devenu withCredentials
J'ai également ajouté cette fonction pour déterminer si la réponse était ok
:
function ok(resp) {
return resp && resp.status && resp.status >= 200 && resp.status < 400
}
C'était tout ce dont j'avais besoin pour m'ajuster dans mon cas.