存在しないデータベース要素へのAJAX呼び出しを行います。そして、ハンドラは次のようになります。XMLHttpRequest.responseは実際にはnullではありません。
if (xhr.readyState === 4 && xhr.status === 200 && xhr.response !== null) {
console.log('response type is ' + typeof xhr.response); // string
console.log('response is ' + xhr.response); // null
// rest of the handler//
{
応答がnullでない場合、私はそれを行うと述べられている場合の質問は、なぜ私のハンドラは、(それは常にコンソールと文字列とヌルをログに記録するようになる)ブロックを実行されています?
本当に '応答の種類は文字列'で、 '応答はヌル'であれば、明らかに応答は文字列 ''ヌル ''です。 –
暗闇の中で 'console.log'トーチでつまずくのではなく、あなたのブラウザに組み込まれた強力なデバッガを使ってライトをオンにすることをお勧めします。そのブロック内にブレークポイントを設定し、ブレークポイントでコードが一時停止している間に 'xhr.response'の値を調べます。 –
また、開発者ツールの[ネットワーク]タブを見て、HTTP応答の生データを調べます。 – Quentin