我想從JSON數組中獲取數據,如下所示,所以this.responceText
返回此數據。我嘗試使用我的Javascript代碼中的數據,但它不工作,也沒有錯誤消息。我的代碼中哪裏出錯?謝謝。如何使循環從JSON數組中獲取數據
{"0":{"folder":"callofthewild","title":"Call of the Wild"},"1":{"folder":"2001spaceodyssey","title":"2001: A Space Odyssey "},"2":{"folder":"hobbit","title":"The Hobbit"},"4":{"folder":"pokemon","title":"I Choose You! (Pokemon Chapter Books)"},"5":{"folder":"alannathefirstadventure","title":"Alanna: The First Adventure (Song of the Lioness #1)"}}
我的一部分javascript;
var books = JSON.parse(this.responseText);
for (var i = 0; i < books.length; i++) {
var book = document.createElement("div");
var text = document.createElement("p");
var image = document.createElement("img");
image.src = "books/" + books.i.folder + "/cover.jpg";
text.innerHTML = books.i.title;
book.appendChild(image);
book.appendChild(text);
document.getElementById("allbooks").appendChild(book);
}
'books.length'將返回'undefined',因爲你的JSON是不是一個數組,它是一個對象 –
如果你是一個創建服務器響應,考慮使用一個數組而不是一個對象,因爲它沒有任何意義,因爲它是一個對象。 – James
'因爲你的JSON不是一個數組,它是一個對象' - 實際上,JSON是一個字符串,OP處理的是一個普通的ol對象:p –