我试图遍历所有的highchart系列,同时执行ajax到服务器.我们来看下面的代码
var url = './sheet';
for(var k = 0; k < chart.series.length; k++) {
console.log(chart.series[k]);
$.getJSON(url).done(function (data){
if (data.length) {
console.log(chart.series[k]);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我不确定上面的代码有什么问题.如您所见,完成后对var的引用将k丢失jQuery.getJSON.感谢您能否帮助我.谢谢
您的代码是异步的,将其包装在一个闭包中,以便它在循环中保留它的值.
var url = './sheet';
for(var k = 0; k < chart.series.length; k++) {
(function(k){
console.log(chart.series[k]);
$.getJSON(url).done(function (data){
if (data.length) {
console.log(chart.series[k]);
}
});
})(k);
}
Run Code Online (Sandbox Code Playgroud)
正如Jason在评论中引用的那样,了解闭包是如何工作的.
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |