[英]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.