2013-11-14 47 views
0

我与下面的代码尝试,但它与错误而失败:未捕获的SyntaxError:意外的标识,就行了:的javascript:未捕获的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]); 

        } 
       }) 

      } 
     ); 
+0

为什么你不只是遵循给出的例子文档? http://api.jquery.com/jQuery.getJSON/ – Jonast92

+0

虽然它不是错误消息的原因,但您有另一个_error_:'a [i] = html;'不正确。因为'i'在那里总是'data.length + 1'。 –

+0

我有一个偷偷的怀疑,因为'循环正在处理最后一次迭代... – tymeJV

回答

0

function(html)之后它期待一个代码块:

function(html) { ..some code.. } 
+0

a [i] = html;仅在该功能内部。我很抱歉,我认为我的力量让你 –

0

for环有2个错误:

1)替换分号,逗号

2)你应该改变<=只是<

因此,最终的结果应该for(var i=0; i<data.length; i++)

+0

我固定循环部分现在车把给出错误。它看起来像html变量是未定义的,如在chrome中看到的。任何建议 –

+0

因为我看不到所有东西,请尝试在第一个循环内添加'console.log(arguments);'。这将显示您的Web服务返回的数据。您需要从那里进行调试。 –

相关问题