Dlaczego moje narzędzia programistyczne Chrome pokazują w odpowiedzi komunikat „Nie udało się wyświetlić danych odpowiedzi”, gdy zwrócona treść jest typu text / html?
Jaka jest alternatywa, aby zobaczyć zwróconą odpowiedź w narzędziach programistycznych?
google-chrome
http
google-chrome-devtools
randominstanceOfLivingThing
źródło
źródło
Odpowiedzi:
Myślę, że dzieje się tak tylko wtedy, gdy zaznaczysz opcję „Zachowaj dziennik” i po opuszczeniu strony próbujesz wyświetlić dane odpowiedzi na poprzednie żądanie.
Na przykład zobaczyłem odpowiedź na pytanie o załadowanie tego Stack Overflow. Możesz to zobaczyć.
Za drugim razem ponownie załadowałem tę stronę, ale nie spojrzałem na nagłówki ani odpowiedź. Udało mi się przejść do innej witryny internetowej. Teraz, gdy patrzę na odpowiedź, pokazuje „Nie udało się załadować danych odpowiedzi”.
To znany problem , który istnieje już od jakiegoś czasu i jest przedmiotem wielu dyskusji. Istnieje jednak obejście polegające na wstrzymywaniu się
onunload
, aby można było wyświetlić odpowiedź przed jej przejściem, a tym samym nie utracić danych po opuszczeniu.źródło
onunload
poprawka nie działa z jakiegoś powodu.Dla tych, którzy otrzymują błąd podczas żądania danych JSON:
Jeśli żądasz danych JSON, plik JSON może być zbyt duży i to jest przyczyną wystąpienia błędu.
Moim rozwiązaniem jest skopiowanie linku żądania do nowej karty (
get
żądanie z przeglądarki) skopiowanie danych do przeglądarki JSON online, gdzie masz automatyczne analizowanie i tam pracujesz.źródło
Jak opisał Gideon, jest to znany problem z Chrome, który był otwarty od ponad 5 lat i nie był zainteresowany jego naprawieniem.
Niestety w moim przypadku
window.onunload = function() { debugger; }
obejście również nie zadziałało. Jak dotąd najlepszym rozwiązaniem, jakie znalazłem, jest użycie przeglądarki Firefox, która wyświetla dane odpowiedzi nawet po nawigacji. Devtools Firefoksa mają również wiele fajnych funkcji, których brakuje w Chrome, takich jak składnia podświetlająca dane odpowiedzi, jeśli jest to html i automatycznie analizuje je, jeśli jest to JSON.źródło
fetch(...copied link...)
w konsoli i obserwować odpowiedź w zakładce sieciJak opisał Gideon, jest to znany problem. Zamiast tego do
użytku
window.onunload = function() { debugger; }
.Ale możesz dodać punkt przerwania na karcie Źródło, a następnie rozwiązać problem. lubię to:
źródło
window.onunload = function() { debugger; }
?window.onunload = function() { debugger; }
nie działało dla mnie, to działało. dzięki!Komunikat „Nie udało się wyświetlić danych odpowiedzi” może również wystąpić, jeśli wykonujesz żądania międzydomenowe, a zdalny host nie obsługuje poprawnie nagłówków CORS. Sprawdź konsolę js pod kątem błędów.
źródło
Jeśli się z żądania AJAX
fetch
, odpowiedź nie jest pokazany chyba to odczytać z.text()
,.json()
itpJeśli po prostu zrobisz:
odpowiedź nie będzie wyświetlana w narzędziach programistycznych.
Pojawia się po uruchomieniu:
źródło
Dla tej osoby, która otrzymała ten błąd podczas żądania dużych danych JSON, nie jest to, jak wspomniał Blauhirn, rozwiązanie, aby po prostu otworzyć żądanie w nowej karcie, jeśli używasz nagłówków uwierzytelniania i tym podobnych.
Forturnatly chrome ma inne opcje, takie jak Copy -> Copy as curl. Uruchomienie tego wywołania z polecenia commandoline przez cURL będzie dokładną repliką pierwotnego wywołania.
Dodałem
> ~/result.json
do ostatniej części komandosa, aby zapisać wynik do pliku. W przeciwnym razie zostanie przesłany do konsoli.źródło