返されたコンテンツにヘッダーContent-Type:text / htmlがある場合でも、Chrome開発ツールは応答を表示できません。charset = UTF-8


141

返されたコンテンツのタイプがtext / htmlの場合、Chrome開発者ツールが「応答データを表示できませんでした」と表示して応答するのはなぜですか?

開発者ツールで返された応答を確認する代替手段は何ですか?


Microsoft Edge Dev(Chromiumベース)ではこのエラーは発生しません。
の名前の場合

回答:


198

これは、「ログの保持」がチェックされていて、別の場所に移動した後で前の要求の応答データを表示しようとした場合にのみ発生すると思います。

たとえば、このStack Overflow質問の読み込みに対する応答を表示しました。見れば分かります。

応答データ

2回目は、このページを再読み込みしましたが、ヘッダーや応答は表示しませんでした。別のWebサイトに移動しました。応答を見ると、「応答データのロードに失敗しました」と表示されています。

応答データなし

これは既知の問題であり、しばらくの間使用されており、多くの議論が交わされています。ただし、回避策として、で一時停止するonunloadため、離れる前に応答を表示できるため、離れた場所に移動してもデータが失われません。

window.onunload = function() { debugger; }

184
応答データを表示できないと、ほぼ完全に「ログの保持」のポイントが失われます。
アマルゴビナス2017

1
あなたのwindow.onunloadの回避策はうまくいきました、ありがとう!
シェーンN

25
いいえ、Chrome 61では、[ログを保持]がチェックされておらず、ページを離れない場合にも、確実に発生する可能性があります。
またはMapper '20

応答データは大きくなる可能性があり、保存ログを無期限にチェックすると、DevToolのパフォーマンスを大幅に低下させる可能性があります。ナビゲーション時に応答データを破棄することは、おそらく仕様によるものです。提案がある場合は、上記のリンクにあるスレッドにコメントしてください。
Gideon Pyzer 2017年

2
それでもChrome 73.0でこの問題が発生onunloadしますが、何らかの理由で修正が機能しません。
Onza、

46

JSONデータをリクエストしているときにエラーが発生する場合:

JSONデータをリクエストしている場合、JSONが大きすぎる可能性があり、そのためにエラーが発生します。

私の解決策は、リクエストリンクを新しいタブにコピーし(getブラウザからのリクエスト)、データをオンラインでJSONビューアにコピーし、そこで自動解析してそこで作業します。


14
しかし実際には解決策ではありません。私は認証などを扱っています。開発ツールの目的に反する。誰かがおそらくどこかでバグレポートを作成する必要があります。ここでも正解
phil294 2018

1
この制限はどのように構成できますか?
ウィレムヘンゲヴェルト2018年

私の場合、それは23MBで発生しましたが、これは愚かな大規模なJSON応答です。エラーメッセージをより説明的にするために問題をオープンしました。
ボートコーダー2018年

6MBのJSON :(
Lee Gunn

また、6 mbの圧縮されていないJSON応答でこれを実行します。
miki noidea

39

Gideonによって説明されているように、これはChromeの既知の問題であり、5年以上オープンしていて、修正することに特に関心はありません。

残念ながら、私の場合、window.onunload = function() { debugger; }回避策も機能しませんでした。これまでのところ、私が見つけた最善の回避策は、ナビゲーションの後でさえ応答データを表示するFirefoxを使用することです。Firefox devtoolsには、Chromeにはない優れた機能が多数あります。たとえば、htmlの場合は応答データを強調表示し、JSONの場合は自動的に解析します。


4
うわー、素晴らしいこと。FirefoxではなくChromeでのみ発生するエラーをデバッグする必要がある。だから私にとっても選択肢はありません。真剣に、なぜ誰もがChrome WebツールがFirefoxよりもはるかに優れていると言うのですか?彼らは何年もFirefoxを試していないようです。
mozzbozz

11
Chromeには、Firefoxの便利な「編集して再送信」リクエストオプションもありません。
アンチモン2018

1
はい... FFを使用して作業を完了しました...期待どおりに機能しました 私たちは危険な時代を生きています!
nmirceac

@Antimony chromeにはかなり長い間「再送信」オプションがありましたが、最後のリリースの1つではそれも削除しました...幸いfetch(...copied link...)、コンソールですばやく実行して、ネットワークタブで応答を観察できます
IvanHušnjakJan

今でもこれを取得しています。大声で叫ぶには、コンソールに熱心な評価などの無意味な機能を導入せず、基本的な開発者ツールの品質を無視するのではなく、すでに持っているものを修正してほしいと思います。
thephpdev

20

Gideonが説明したように、これは既知の問題です。代わりに
使用しwindow.onunload = function() { debugger; }ます。
しかし、[ソース]タブでブレークポイントを追加すると、問題を解決できます。このような: ここに画像の説明を入力してください


「ソース」タブの利点は何window.onunload = function() { debugger; }ですか?
Mihail Malostanidis

1
デバッガーのコードを記述する必要はありません。また、ページ間をジャンプして同じウィンドウを保持しないようなより高い環境でデバッグできます
Parijat Kalia

window.onunload = function() { debugger; }うまくいきませんでした。ありがとう!
aexl

11

「応答データの表示に失敗しました」は、クロスドメインリクエストを実行していて、リモートホストがCORSヘッダーを適切に処理していない場合にも発生する可能性があります。jsコンソールでエラーを確認してください。


2
応答が表示されない(どのような形であっても)ため、
Chrome

あなたが正しいです!しかし、これがまさに、リクエストが失敗した理由を理解するための応答が必要な理由です。すべてがcurlで正常に動作しますが、Chromeは「プリフライトリクエストへの応答がアクセス制御チェックに合格しない:リクエストされたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しない」
AHA

4

あなたがAJAX要求を行った場合fetch、それがで読んだ場合を除き、応答が示されていない.text().json()など、

あなただけの場合:

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

レスポンスは開発ツールでは表示されません。
実行すると表示されます:

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

1

大きなJSONデータをリクエストしているときにこのエラーを受け取った人にとっては、Blauhirnが述べたように、認証ヘッダーなどを使用している場合にリクエストを新しいタブで開くだけの解決策ではありません。

当然のことながら、Chromeには[コピー]-> [カールとしてコピー]などの他のオプションがあります。この呼び出しをコマンドラインからcURLを介して実行すると、元の呼び出しとまったく同じになります。

> ~/result.jsonコマンドの最後の部分に追加して、結果をファイルに保存しました。それ以外の場合は、コンソールに出力されます。


1
応答を提供するサーバーの状態が変更された場合、正確なレプリカは役に立ちません。したがって、私にとっては、イベントが発生するまでに約40分待機する必要があり、そのイベントによって新しいページがトリガーされるため、使用全体が完全に中断されます。これはトグルできるオプションである必要があります。U残念ながら、あなたが彼らのチームの一員でない限り、前のコメントにリストされた問題への一般的な訪問者には投票やコメントのオプションはありません:/
DavidMårtenssonJun
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.