Narzędzia deweloperskie Chrome nie pokazują odpowiedzi, nawet zwracana treść ma nagłówek Content-Type: text / html; charset = UTF-8
142
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?
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.
Dane odpowiedzi mogą być duże, a przy zachowaniu dziennika sprawdzanego w nieskończoność znacznie pogorszyłoby wydajność narzędzia DevTool. Odrzucenie danych odpowiedzi podczas nawigacji było prawdopodobnie zaplanowane. Jeśli masz jakieś sugestie, skomentuj wątek, do którego link znajduje się powyżej.
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.
nie jest to jednak rozwiązanie. Pracuję z uwierzytelnianiem i tym podobne. Wbrew celowi narzędzi deweloperskich. Ktoś prawdopodobnie powinien gdzieś stworzyć raport o błędzie. Jednak poprawna odpowiedź tutaj
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.
Wow, świetna rzecz. Konieczność debugowania błędu, który występuje tylko w przeglądarce Chrome, a nie przeglądarce Firefox. Więc też nie ma opcji dla mnie. Poważnie, dlaczego wszyscy mówią, że narzędzia internetowe Chrome są o wiele lepsze niż Firefox? Wygląda na to, że nie próbowali Firefoksa od lat.
@Antimony chrome miał opcję "Resend" już od dłuższego czasu, ale w jednym z ostatnich wydań usunęli nawet to ... Na szczęście można to zrobić szybko fetch(...copied link...)w konsoli i obserwować odpowiedź w zakładce sieci
Nadal to rozumiem, nawet teraz. Na przykład, wolałbym, żeby naprawili to, co już mają, zamiast wprowadzać bezsensowne funkcje, takie jak gorliwa ocena w konsoli i zaniedbać jakość swoich podstawowych narzędzi programistycznych.
Jak 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:
nie musisz pisać kodu dla debuggera i możesz debugować na wyższych środowiskach, gdzie być może przeskakujesz między stronami i nie zachowujesz tego samego okna
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.
Masz rację! Ale właśnie dlatego potrzebuję odpowiedzi, aby zrozumieć, dlaczego moje żądanie zawodzi. Wszystko działa dobrze z curl, ale przeglądarka Chrome nadal nie działa z komunikatem „Odpowiedź na żądanie inspekcji wstępnej nie przechodzi kontroli dostępu: brak nagłówka„ Access-Control-Allow-Origin ”w żądanym zasobie”
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.jsondo ostatniej części komandosa, aby zapisać wynik do pliku. W przeciwnym razie zostanie przesłany do konsoli.
Dokładna replika nie jest przydatna, jeśli stan serwera dostarczającego odpowiedź uległ zmianie. Tak więc dla mnie, że muszę czekać około 40 minut na wystąpienie zdarzenia, a to zdarzenie uruchamia nową stronę, całkowicie zrywa to całe użycie. Powinna to być opcja, którą można przełączać. Niestety nie ma możliwości głosowania ani komentowania dla zwykłych gości w sprawie wymienionej w poprzednim komentarzu, chyba że należysz do ich zespołu: /
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.