Les outils de développement Chrome ne parviennent pas à afficher la réponse, même le contenu renvoyé a un en-tête Content-Type: text / html; jeu de caractères = UTF-8


143

Pourquoi mes outils de développement Chrome affichent-ils "Impossible d'afficher les données de réponse" en réponse lorsque le contenu renvoyé est de type text / html?

Quelle est l'alternative pour voir la réponse renvoyée dans les outils de développement?


J'ai constaté que Microsoft Edge Dev (basé sur Chromium) ne me donne pas cette erreur.
Pour le nom le

Avez-vous essayé de vous enregistrer dans Firefox?
Rajendra kumar Vankadari le

Réponses:


200

Je pense que cela ne se produit que lorsque vous avez coché «Conserver le journal» et que vous essayez d'afficher les données de réponse d'une demande précédente après avoir navigué.

Par exemple, j'ai consulté la réponse au chargement de cette question de débordement de pile. Tu peux le voir.

Données de réponse

La deuxième fois, j'ai rechargé cette page mais je n'ai pas regardé les en-têtes ou la réponse. J'ai accédé à un autre site Web. Maintenant, quand je regarde la réponse, il montre «Échec du chargement des données de réponse».

Aucune donnée de réponse

C'est un problème connu , qui existe depuis un certain temps et qui a beaucoup débattu. Cependant, il existe une solution de contournement, dans laquelle vous vous arrêtez onunload, afin que vous puissiez afficher la réponse avant qu'elle ne s'éloigne, et ainsi ne perd pas les données lors de la navigation.

window.onunload = function() { debugger; }

186
Ne pas pouvoir voir les données de réponse tue presque entièrement le point de "conserver le journal"!
Amalgovinus

1
Votre solution de contournement window.onunload a très bien fonctionné, merci!
Shane N

25
Non, dans Chrome 61, cela peut certainement se produire aussi si "Conserver le journal" n'est pas coché, et sans quitter la page.
OR Mapper

Les données de réponse peuvent être volumineuses et, si le journal de conservation est vérifié indéfiniment, cela entraverait considérablement les performances de DevTool. Le rejet des données de réponse lors de la navigation a probablement été fait par conception. Si vous avez des suggestions, commentez le fil lié ci-dessus.
Gideon Pyzer

2
Je rencontre toujours ce problème avec Chrome 73.0, le onunloadcorrectif ne fonctionne pas pour moi pour une raison quelconque.
Onza

46

Pour ceux qui obtiennent l'erreur lors de la demande de données JSON:

Si vous demandez des données JSON, le JSON est peut-être trop volumineux et c'est la cause de l'erreur.

Ma solution est de copier le lien de demande dans un nouvel onglet ( getdemande du navigateur), de copier les données dans la visionneuse JSON en ligne où vous avez une analyse automatique et de travailler dessus.


14
pas vraiment une solution cependant. Je travaille avec l'authentification et autres. Défie le but des outils de développement. Quelqu'un devrait probablement créer un rapport de bogue quelque part. Bonne réponse ici
phil294

1
Cette limite est-elle configurable d'une manière ou d'une autre?
Willem Hengeveld

Dans mon cas, cela s'est produit à 23 Mo, ce qui est une grande réponse JSON stupide ... J'ai ouvert un problème pour rendre le message d'erreur plus descriptif.
boatcoder

Je vois le problème pour 6MB JSON: (
Lee Gunn

Frapper également ceci sur la réponse JSON arond 6mb non compressé.
miki noidea le

39

Comme décrit par Gideon, il s'agit d'un problème connu avec Chrome qui est ouvert depuis plus de 5 ans sans intérêt apparent à le résoudre.

Malheureusement, dans mon cas, la window.onunload = function() { debugger; }solution de contournement n'a pas fonctionné non plus. Jusqu'à présent, la meilleure solution de contournement que j'ai trouvée est d'utiliser Firefox, qui affiche les données de réponse même après une navigation. Les outils de développement de Firefox ont également beaucoup de fonctionnalités intéressantes manquantes dans Chrome, telles que la syntaxe mettant en évidence les données de réponse s'il s'agit de HTML et l'analyse automatique s'il s'agit de JSON.


4
Wow, super chose. Besoin de déboguer une erreur qui ne se produit que sur Chrome, pas sur Firefox. Donc aussi aucune option pour moi. Sérieusement, pourquoi tout le monde dit-il que les outils Web Chrome sont tellement meilleurs que ceux de Firefox? On dirait qu'ils n'ont pas essayé Firefox depuis des années.
mozzbozz

11
Chrome ne dispose pas non plus de l'option de demande pratique «modifier et renvoyer» de Firefox.
Antimoine

1
Oui ... J'ai également utilisé FF pour faire le travail ... A fonctionné comme prévu. Nous vivons des temps difficiles!
nmirceac

@Antimoine chrome a eu l'option "Renvoyer" pendant un certain temps, mais dans l'une des dernières versions, ils ont même supprimé cela ... Heureusement, on peut faire vite fetch(...copied link...)dans la console et observer la réponse dans l'onglet réseau
Ivan Hušnjak

Toujours en train de l'obtenir. Pour pleurer à haute voix, je préfère qu'ils corrigent ce qu'ils ont déjà plutôt que d'introduire des fonctionnalités inutiles comme une évaluation impatiente dans la console et de négliger la qualité de leurs outils de développement fondamentaux.
thephpdev

20

Comme décrit par Gideon, il s'agit d'un problème connu.
A utiliser à la window.onunload = function() { debugger; }place.
Mais vous pouvez ajouter un point d'arrêt dans l'onglet Source, puis résoudre votre problème. comme ça: entrez la description de l'image ici


Quel est l'avantage de l'onglet Source window.onunload = function() { debugger; }?
Mihail Malostanidis

1
vous n'avez pas besoin d'écrire le code pour le débogueur, et vous pouvez déboguer sur des environnements plus élevés où vous sautez peut-être entre les pages et ne préservez pas la même fenêtre
Parijat Kalia

window.onunload = function() { debugger; }n'a pas fonctionné pour moi, cela a fonctionné. Merci!
aexl

11

«Échec de l'affichage des données de réponse» peut également se produire si vous effectuez des requêtes entre domaines et que l'hôte distant ne gère pas correctement les en-têtes CORS. Vérifiez votre console js pour les erreurs.


2
le chrome est toujours cassé pour ne pas avoir montré la réponse (sous quelque forme que ce soit) - FF a fonctionné pour moi
nmirceac

Vous avez raison! Mais c'est exactement pourquoi j'ai besoin de la réponse pour comprendre pourquoi ma demande échoue. Tout fonctionne correctement avec curl, mais Chrome échoue toujours avec "La réponse à la demande de contrôle en amont ne passe pas la vérification de contrôle d'accès: aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur la ressource demandée"
AHA

4

Si vous faites une demande d'AJAX fetch, la réponse n'apparaît pas moins qu'il ne soit lu avec .text(), .json()etc.

Si vous faites juste:

 r = fetch("/some-path");

la réponse ne sera pas affichée dans les outils de développement.
Il apparaît après avoir exécuté:

r.then(r => r.text())

1

Pour ceux qui reçoivent cette erreur lors de la demande de données JSON volumineuses, comme mentionné par Blauhirn, ce n'est pas une solution de simplement ouvrir la demande dans un nouvel onglet si vous utilisez des en-têtes d'authentification et autres.

Forturnatly chrome a d'autres options telles que Copier -> Copier comme curl. L'exécution de cet appel à partir de la ligne de commande via cURL sera une réplique exacte de l'appel d'origine.

J'ai ajouté > ~/result.jsonà la dernière partie du commando pour enregistrer le résultat dans un fichier. Sinon, il sera envoyé à la console.


1
Une réplique exacte ne sert à rien si l'état du serveur fournissant la réponse a changé. Donc pour moi, il faut attendre environ 40 minutes pour qu'un événement se produise, et cet événement déclenche une nouvelle page, cela rompt complètement toute l'utilisation. Ce devrait être une option qui pourrait être basculée. UInfortunatly, il n'y a pas d'option de vote ou de commentaire pour les visiteurs communs du problème mentionné dans un commentaire précédent, sauf si vous faites partie de leur équipe: /
David Mårtensson
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.