【发布时间】:2014-07-17 00:18:50
【问题描述】:
我正在尝试访问 $.getJSON 回调中的全局数组。出于某种原因,我可以访问该数组以实际调用 ajax 请求,但它在回调中未定义。
JS
var toprint = [
{name: "Name",
year: "2014",
call: "http://api.call.com"},
// etc.....
]
for(var i = 0; i < toprint.length; i++){
$.getJSON( toprint[i].call, function( data) { // toprint[i].call accessed fine
// some code...
// toprint[i] undefined below
jsonPrint = "<div class='col'><h3>" + toprint[i].name + "</h3>" + toprint[i].year + "<ul>";
// some code...
});
}
我收到错误:
TypeError: toprint[i] is undefined
这很奇怪,因为根据我读过的其他 SO 问题,我应该能够访问 AJAX 回调中的全局变量。
【问题讨论】:
标签: javascript jquery ajax callback scope