Я пытаюсь с помощью кода ниже, но он с ошибкой: Uncaught SyntaxError: Неожиданный идентификатор в строке:
$.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]);
}
})
}
);
В вашем цикле for
есть 2 ошибки:
1) замените запятую точкой с запятой
2) Вы должны изменить <=
на просто <
Таким образом, ваш конечный результат должен выглядеть как for(var i=0; i<data.length; i++)
console.log(arguments);
в вашем первом цикле. Это покажет вам данные, возвращаемые из вашего веб-сервиса. Вам нужно будет отлаживать оттуда.
function(html)
ожидает блок кода после него:
function(html) { ..some code.. }
a[i]=html;
не является правильным. Потому чтоi
всегда будуdata.length+1
там.