【发布时间】:2013-11-28 02:58:07
【问题描述】:
我正在尝试使用以下代码,但它失败并出现错误:Uncaught SyntaxError: Unexpected identifier, on the line :
$.get("commonCore/templates/" + data[i].templateHtml ,function(html)
谁能帮我调试一下。我对 javascript 和 jquery 非常陌生
JSON:
[{"templateHtml":"dashBoardLeftInsight.html","classSelect":"leftpanel"},{"templateHtml":"dcdcsFilterOptions.html","classSelect":"dcdcsOptions"},{"templateHtml":"advanceFilterOptions.html","classSelect":"advancedOptions"},{"templateHtml":"reportFilterOptions.html","classSelect":"reportdashboard"}]
代码:
$.getJSON('api/filterTemplate/dashboard',function (data){
var a = new Array(data.length);
console.log(data.length);
$.when(function(){
for(var i=0;i<=data.length,i++)
{
$.get("commonCore/templates/" + data[i].templateHtml ,function(html){
a[i]=html;
});
}
}).then(function(d){
for (var j=0;j<data.length;j++)
{
filterTemplate=Handlebars.compile(a[j]);
replaceFilterTemplate(data[i].classids[j]);
}
})
}
);
【问题讨论】:
-
您为什么不按照文档中给出的示例进行操作? api.jquery.com/jQuery.getJSON
-
虽然这不是错误消息的原因,但您还有另一个 错误:
a[i]=html;不正确。因为i永远是data.length+1。 -
我偷偷怀疑
for循环只处理最后一次迭代...... -
您的 for 循环也有语法错误
for(var i = 0; i <= data.length; i++) {,而不是; -
我修复了循环部分,现在车把出现错误。似乎 html 变量未定义,如 chrome 中所示。任何建议
标签: javascript jquery