[英]How do I access this JSON data in Javascript?
{"0":
{"id":"276","course":"92","name":"Tutorial - Compound Measures",
"activitylink":"2490","available":"1331231400","deadline":"1331235000"},
"1":
"example@gmail.com","reference":"example@gmail.com"}
我試圖在jQuery / Javascript中訪問它,但我無法。 這是我的jQuery:
$('#lessonSelect').live('change', function()
{
$.getJSON('?ajax=true&lid='+$('#lessonSelect').val(), function(data)
{
var len = data.length;
var lessonDialog = "";//initialise
var launchLessonDiv = '<a href="' + data.reference + '">Launch Lesson</a>';
for (var i = 0; i< len; i++)
{
lessonDialog += '<p>' + data[i].name + '</p>'; //get lesson name
}
$('#lessonDialog').html(lessonDialog); //insert lesson name into dialog
$('#launchLessonDiv').html(launchLessonDiv);
});
});
這基本上是一個選擇列表。 每次用戶選擇某些內容時,頁面上的鏈接和其他內容都會發生變化。 這些東西在首次加載頁面時起作用,但是當我開始在選擇列表中選擇內容時,lessonDialog顯示為空白,里面沒有任何內容。
使用數字鍵將對象轉換為true數組:
$.getJSON('?ajax=true&lid='+$('#lessonSelect').val(), function(data) {
data = Array.prototype.slice.call(data);
您當前的方法失敗,因為{ ... }
導致創建對象, 而不是數組。 對象的length
屬性是undefined
,因此循環永遠不會啟動:
for (var i=0; i<undefined; i++) ; // <-- 0 < undefined is always false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.