2016-11-21 10 views
0

[オブジェクトオブジェクト]として返されるコードは、なぜ返されますか?Javascript Fetch api [オブジェクトオブジェクト]

var request = new Request('data/some.json'); 

    fetch(request).then(function(response) { 
    return response.json(); 
    }).then(function(json) { 
     document.getElementById("test").innerHTML = json.items; 
    }); 
+0

「response.data」を使用してください。 – tomepejo

答えて

1

document.getElementById("test").innerHTML = json.items;がここにあります。

あなたがすべき

:あなたはDOMでプレーンなJavaScriptのオブジェクトをペイントしようとするので

document.getElementById("test").innerHTML = JSON.stringify(json.items); 

これは、それが[object object]になりますこれは、オブジェクトのtoString関数を呼び出しますされています。

1

あなたの応答はオブジェクトを表すJSON文字列である可能性が高いので、JavaScriptオブジェクトに解析されます。

あなたはinnerHTMLとしてこのオブジェクトを使用しようとすると、順番に[object Object]を返す、toString()を経由して文字列化さ:

console.log(({foo: "bar"}).toString()); // "[object Object]"


あなたはJSON表現を表示したい場合は単純に、JSONをJavaScriptオブジェクトに構文解析してjson()を経由してプレーンテキスト表現obtaiを使用するステップをスキップしてください代わりにtext()経由でned:

+0

'text'だけを使うと、' json.items'は 'undefined'になるでしょう。 – Xufox

+0

@Xufoxあなたはもちろんそうです。ありがとう! – Timo

関連する問題