我想让我的$ .getJSON工作,但它什么都不返回。这里是我的jQuery:
$('#courseSelect').bind('change', function()
{
data = $.getJSON('lessons.js');
var html ='<select name="lessonSelect id="lessonSelect">';
var len = data.length;
alert(data.length); //this alerts "undefined"
for (var i = 0; i< len; i++) {
html += '<option value="' + data[i].value + '">' + data[i].name + '</option>';
}
html +='</select>';
alert(html); //this alerts <select...></select>
//but no option tags because there's nothing to loop through
$('lessonsDiv').html(html);
});
这是我lessons.js文件
{"lessons":
[
{"value": "1", "name": "Lesson 1"},
{"value": "2", "name": "Lesson 2"},
{"value": "3", "name": "Three"}
]
}
最后,我想要做的是首先选择课程时创建的教训新的选择列表。但现在,我只是想让getJSON方法起作用,但事实并非如此。如果有人能看到有什么问题,那就太好了。它是否期待着一种不同的数据?
在你的匿名函数中传递'data'对象? :/或者我只是被推迟了。 – f0x 2012-03-08 11:43:00
@ f0x:不,我是智障人士;)。 – Matt 2012-03-08 11:43:57
@ f0x如果未定义第二个参数,则不一定需要传递数据 – Rafay 2012-03-08 11:45:12