2013-11-14 3 views
0

я пытаюсь с ниже код, но он терпит неудачу с ошибкой: неперехваченным SyntaxError: Неожиданный идентификатор, на линии:JavaScript: Uncaught SyntaxError: Неожиданный идентификатор

$.get("commonCore/templates/" + data[i].templateHtml ,function(html) 

может кто-то пожалуйста, помогите мне ее отладки. Я очень много нового яваскрипт и 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

У меня есть подозрительное подозрение, что цикл 'for' обрабатывает только последнюю итерацию ... – 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 не определена, как показано на хроме. любое предложение –

+0

Поскольку я не вижу все, попробуйте добавить 'console.log (arguments);' внутри вашего первого цикла. Это покажет вам данные, возвращаемые из вашего веб-сервиса. Оттуда вам нужно будет отлаживать. –

Смежные вопросы