Gli strumenti di sviluppo di Chrome non riescono a mostrare la risposta anche se il contenuto restituito ha un'intestazione Content-Type: text / html; charset = UTF-8


143

Perché i miei strumenti per sviluppatori di Chrome mostrano "Impossibile mostrare i dati di risposta" in risposta quando il contenuto restituito è di tipo text / html?

Qual è l'alternativa per vedere la risposta restituita negli strumenti per sviluppatori?


Ho scoperto che Microsoft Edge Dev (basato su Chromium) non mi dà questo errore.
Per il nome

Hai provato a controllare in Firefox?
Rajendra kumar Vankadari

Risposte:


200

Penso che ciò accada solo quando è stato selezionato "Conserva registro" e si sta tentando di visualizzare i dati di risposta di una richiesta precedente dopo aver effettuato la navigazione.

Ad esempio, ho visualizzato la risposta al caricamento di questa domanda di overflow dello stack. Puoi vederlo.

Dati di risposta

La seconda volta, ho ricaricato questa pagina ma non ho guardato le intestazioni o la risposta. Sono passato a un altro sito Web. Ora, quando guardo la risposta, mostra "Impossibile caricare i dati di risposta".

Nessun dato di risposta

Questo è un problema noto , che esiste da un po 'di tempo e ha discusso molto. Tuttavia, esiste una soluzione alternativa, in cui ti fermi onunload, in modo da poter visualizzare la risposta prima che si allontani, e quindi non perde i dati durante la navigazione.

window.onunload = function() { debugger; }

186
Non riuscire a vedere i dati di risposta uccide quasi del tutto il punto di "preservare il registro"!
Amalgovinus,

1
La soluzione alternativa a window.onunload ha funzionato alla grande, grazie!
Shane N,

25
No, in Chrome 61, può sicuramente succedere anche se "Conserva registro" non è selezionato e senza uscire dalla pagina.
OR Mapper,

I dati di risposta possono essere di grandi dimensioni e, se il registro di conservazione viene controllato indefinitamente, aumenterebbe in modo significativo le prestazioni di DevTool. Scartare i dati di risposta durante la navigazione è stato probabilmente progettato. Se hai qualche suggerimento, commenta il thread sopra linkato.
Gideon Pyzer,

2
Continuando a riscontrare questo problema con Chrome 73.0, la onunloadcorrezione non funziona per me per qualche motivo.
Onza,

46

Per coloro che ottengono l'errore durante la richiesta di dati JSON:

Se stai richiedendo dati JSON, il JSON potrebbe essere troppo grande e ciò che causa l'errore.

La mia soluzione è quella di copiare il link di richiesta in una nuova scheda ( getrichiesta dal browser) copiare i dati nel visualizzatore JSON online dove si esegue l'analisi automatica e ci si lavora su di esso.


14
non è davvero una soluzione però. Lavoro con autenticazione e simili. Definisce lo scopo degli strumenti di sviluppo. Qualcuno dovrebbe probabilmente creare qualche segnalazione bug da qualche parte. Risposta corretta qui però
phil294

1
Questo limite è configurabile in qualche modo?
Willem Hengeveld,

Nel mio caso è successo a 23 MB, che è una stupida risposta JSON di grandi dimensioni ... Ho aperto un problema per rendere il messaggio di errore reso più descrittivo.
Boatcoder

Sto vedendo il problema per 6MB JSON :(
Lee Gunn,

Colpire anche questo sulla risposta JSON non è compresso 6mb.
miki noidea,

39

Come descritto da Gideon, questo è un problema noto con Chrome che è stato aperto per più di 5 anni senza alcun apparente interesse a risolverlo.

Sfortunatamente, nel mio caso, anche la window.onunload = function() { debugger; }soluzione alternativa non ha funzionato. Finora la soluzione migliore che ho trovato è utilizzare Firefox, che visualizza i dati di risposta anche dopo una navigazione. Gli devtools di Firefox hanno anche molte belle funzioni mancanti in Chrome, come la sintassi che evidenzia i dati di risposta se sono html e li analizza automaticamente se è JSON.


4
Caspita. È necessario eseguire il debug di un errore che si verifica solo su Chrome, non su Firefox. Quindi anche nessuna opzione per me. Seriamente, perché tutti dicono che gli strumenti web di Chrome sono molto meglio di quelli di Firefox? Sembra che non provino Firefox da anni.
Mozzbozz,

11
Chrome inoltre non ha la comoda opzione di richiesta "modifica e reinvia" di Firefox.
Antimonio

1
Sì ... Ho usato anche FF per fare la cosa ... Ha funzionato come previsto. Stiamo vivendo tempi insidiosi!
nmirceac,

@Antimony chrome ha avuto l'opzione "Rinvia" per un bel po ', ma in una delle ultime versioni hanno rimosso anche quello ... Fortunatamente si può fare rapidamente fetch(...copied link...)in console e osservare la risposta nella scheda di rete
Ivan Hušnjak

Lo capisco ancora adesso. Per gridare ad alta voce, preferirei che aggiustassero ciò che già hanno piuttosto che introdurre funzioni inutili come una valutazione entusiasta nella console e trascurare la qualità dei loro strumenti di sviluppo fondamentali.
thephpdev

20

Come descritto da Gideon, questo è un problema noto.
Per usare window.onunload = function() { debugger; }invece.
Ma puoi aggiungere un punto di interruzione nella scheda Origine, quindi puoi risolvere il tuo problema. come questo: inserisci qui la descrizione dell'immagine


Qual è il vantaggio della scheda Sorgente window.onunload = function() { debugger; }?
Mihail Malostanidis,

1
non è necessario scrivere il codice per il debugger e puoi eseguire il debug in ambienti superiori in cui potresti saltare tra le pagine e non conservare la stessa finestra
Parijat Kalia

window.onunload = function() { debugger; }non ha funzionato per me, questo ha funzionato. Grazie!
aexl

11

"Impossibile mostrare i dati di risposta" può verificarsi anche se si stanno eseguendo richieste crossdomain e l'host remoto non gestisce correttamente le intestazioni CORS. Controlla la tua console js per errori.


2
chrome è ancora rotto per non aver mostrato la risposta (in qualsiasi forma) - FF ha funzionato per me
nmirceac

Hai ragione! Ma questo è esattamente il motivo per cui ho bisogno della risposta per capire perché la mia richiesta non riesce. Tutto funziona bene con l'arricciatura, ma Chrome non riesce ancora con "La risposta alla richiesta di verifica preliminare non supera il controllo del controllo di accesso: nessuna intestazione 'Access-Control-Allow-Origin' è presente sulla risorsa richiesta"
AHA

4

Se si effettua una richiesta AJAX con fetch, la risposta non viene visualizzata se non viene letta con .text(),.json() e così via

Se fai semplicemente:

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

la risposta non verrà mostrata negli strumenti di sviluppo.
Si presenta dopo l'esecuzione:

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

1

Per chi una volta riceve questo errore durante la richiesta di dati JSON di grandi dimensioni, non è una soluzione, come menzionato da Blauhirn, aprire la richiesta in una nuova scheda se si utilizzano intestazioni di autenticazione e simili.

Forturnatly Chrome ha altre opzioni come Copia -> Copia come arricciatura. L'esecuzione di questa chiamata da commandoline tramite cURL sarà una replica esatta della chiamata originale.

Ho aggiunto > ~/result.jsonl'ultima parte del comando per salvare il risultato in un file. Altrimenti verrà inviato alla console.


1
Una replica esatta non è utile se lo stato del server che fornisce la risposta è cambiato. Quindi, per me, che devo aspettare circa 40 minuti affinché si verifichi un evento e quell'evento innesca una nuova pagina, questo interrompe completamente l'uso. Dovrebbe essere un'opzione che potrebbe essere attivata / disattivata. Sfortunatamente non esiste alcuna opzione di voto o commento per i visitatori comuni alla questione elencata in un commento precedente a meno che tu non faccia parte della loro squadra: /
David Mårtensson
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.