Інструменти для розробників Chrome не показують відповідь, навіть повернення вмісту має заголовок Content-Type: text / html; charset = UTF-8


143

Чому мої інструменти для розробників хрому показують "Не вдалося показати дані відповіді" у відповідь, коли вміст, що повертається, має текст / html?

Яка альтернатива бачити відповідь у інструментах для розробників?


Я виявив, що Microsoft Edge Dev (заснований на Chromium) не дає мені цієї помилки.
Для імені

Ви спробували перевірити в Firefox?
Раджендра кумар Ванкадарі

Відповіді:


200

Я думаю, що це відбувається лише тоді, коли ви встановили прапорець "Зберегти журнал" і ви намагаєтесь переглянути дані відповіді попереднього запиту після того, як ви відійшли.

Наприклад, я переглянув Відповідь на завантаження цього питання про переповнення стека. Ви можете це побачити.

Дані відповідей

Вдруге я перезавантажив цю сторінку, але не подивився на заголовки чи відповіді. Я перейшов на інший веб-сайт. Тепер, коли я дивлюсь на відповідь, він показує "Не вдалося завантажити дані відповіді".

Немає даних про відповіді

Це відома проблема , яка існує вже деякий час, і багато дискутували. Однак є рішення, в якому ви робите паузу onunload, і ви можете переглядати відповідь, перш ніж вона відправиться, і, таким чином, не втрачає даних при навігації.

window.onunload = function() { debugger; }

186
Неможливо побачити дані відповідей майже повністю вбиває точку "збереження журналу"!
Амальговінус

1
Ваш window.onunload вирішив чудово, дякую!
Шейн N

25
Ні, в Chrome 61 це однозначно може статися, якщо пункт "Зберегти журнал" не встановлено , і не залишаючи сторінку.
АБО Mapper

Дані відповідей можуть бути великими, і якщо журнал збереження перевіряється на невизначений термін, це дозволило б значно завадити роботі DevTool. Щоб відкинути дані відповіді під час навігації, ймовірно, було зроблено дизайном. Якщо у вас є якісь пропозиції, прокоментуйте нитку, пов'язану вище.
Гедеон Пізер

2
Проблема все ще відчуває хром 73.0, onunloadвиправлення чомусь не працює для мене.
Онза

46

Для тих, хто отримує помилку під час запиту даних JSON:

Якщо ви запитуєте дані JSON, JSON може бути занадто великим, і це може спричинити помилку.

Моє рішення - скопіювати посилання на запит на нову вкладку (get запит від браузера), скопіювати дані в Інтернет-переглядач JSON, де у вас є автоматичний розбір і робота над ним.


14
насправді не рішення. Я працюю з аутентифікацією та ін. Визначає призначення інструментів розробки. Мабуть, хтось повинен десь створити бугрепорт. Тут правильна відповідь
phil294

1
Чи можна налаштувати цю межу яким-небудь чином?
Віллем Хенгевельд

У моєму випадку це сталося в 23 Мб, що є дурною великою відповіддю JSON .... Я відкрив питання, щоб повідомлення про помилку було більш описовим.
boatcoder

Я бачу проблему для 6 МБ JSON :(
Лі Ганн

Також потрапляючи на це у відповідь JSON навколо 6 Мб, нестиснута.
miki noidea

39

Як описав Gideon, це відома проблема із Chrome, яка відкрита вже більше 5 років, і очевидний інтерес не може виправити.

На жаль, і в моєму випадку window.onunload = function() { debugger; }вирішення проблем не спрацювало. Наразі найкращим рішенням, який я знайшов, є використання Firefox, який відображає дані відповіді навіть після навігації. Firefox devtools також має багато приємних функцій, відсутніх у Chrome, таких як синтаксис, що виділяє дані відповіді, якщо вони є html, і автоматично їх аналізує, якщо це JSON.


4
Нічого, чудова річ. Необхідність налагодження помилки, яка виникає лише в Chrome, а не в Firefox. Так що для мене немає жодного варіанту. Серйозно, чому всі кажуть, що веб-інструменти Chrome настільки кращі, ніж Firefox? Здається, вони не пробували Firefox роками.
mozzbozz

11
У Chrome також немає зручного варіанту запиту "редагувати та повторно" Firefox.
Сурма

1
Так ... Також використовується FF для того, щоб зробити річ ... Працювало як очікувалося. Ми живемо підступні часи!
nmirceac

@Antimin chrome досить довго мав опцію "Повторити", але в одному з останніх випусків вони видалили навіть це ... На щастя, можна швидко зробити fetch(...copied link...)консоль і спостерігати за реакцією на вкладці мережі
Іван Хушняк

Досі отримую це навіть зараз. Для плачу вголос я краще їм виправити те, що вони вже мають, а не ввести безглузді функції, такі як прагнення до оцінки в консолі і нехтувати якістю основних інструментів для розробників.
thephpdev

20

Як описав Гедеон, це відома проблема.
Для використання window.onunload = function() { debugger; }замість цього.
Але ви можете додати точку розриву на вкладці "Джерело", щоб вирішити свою проблему. подобається це: введіть тут опис зображення


У чому перевага вкладки "Джерело" над window.onunload = function() { debugger; }?
Михайло Малостанідіс

1
вам не потрібно писати код для налагоджувача, і ви можете налагоджувати у більш високих середовищах, де ви, можливо,
переходите

window.onunload = function() { debugger; }не працювало для мене, це було. Дякую!
aexl

11

"Не вдалося показати дані відповіді" також може статися, якщо ви робите запити між доменами та віддалений хост неправильно обробляє заголовки CORS. Перевірте свою консоль js на наявність помилок.


2
хром все ще зламаний за те, що не показував відповіді (у будь-якій формі) - FF працював на мене
nmirceac

Ти правий! Але саме тому мені потрібна відповідь, щоб зрозуміти, чому мій запит не працює. Все добре працює з завитком, але хромування все-таки не вдається "Відповідь на запит перед польотом не проходить перевірку контролю доступу: на запитуваному ресурсі немає заголовка" Access-Control-Allow-Origin "
AHA

4

Якщо ви робите запит AJAX за допомогою fetch, відповідь не відображається, якщо він не прочитаний .text(),.json() і так далі

Якщо ви просто зробите:

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

відповідь не відображатиметься в інструментах розробки.
Він відображається після запуску:

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

1

Для тих, хто отримує цю помилку під час запиту великих даних JSON, це, як згадував Blauhirn, не є рішенням просто відкрити запит у новій вкладці, якщо ви використовуєте заголовки аутентифікації тощо.

У хроні Forturnatly є й інші параметри, такі як Copy -> Copy as curl. Запуск цього виклику з командоліні через CURL буде точною копією вихідного виклику.

Я додав > ~/result.jsonдо останньої частини командона, щоб зберегти результат у файл. В іншому випадку він буде виведений на консоль.


1
Точна репліка не буде корисною, якщо стан сервера, що постачає відповідь, змінився. Тож для мене потрібно чекати близько 40 хвилин, щоб відбулася подія, і ця подія запускає нову сторінку, це повністю порушує все використання. Це повинен бути варіант, який можна переключити. На жаль, для загальних відвідувачів питання, перелічених у попередньому коментарі, немає варіантів голосування чи коментарів, якщо ви не є членом їх команди: /
Девід Мартенссон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.