JavaScript: Uncaught SyntaxError: Неожиданный идентификатор

0

Я пытаюсь с помощью кода ниже, но он с ошибкой: 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]);

                    }
                })

            }
        );
  • 0
    Почему бы вам просто не следовать примерам, приведенным в документации? api.jquery.com/jQuery.getJSON
  • 0
    Хотя это не является причиной сообщения об ошибке, у вас есть другая ошибка : a[i]=html; не является правильным. Потому что i всегда буду data.length+1 там.
Показать ещё 5 комментариев
Теги:

2 ответа

0

В вашем цикле for есть 2 ошибки:

1) замените запятую точкой с запятой

2) Вы должны изменить <= на просто <

Таким образом, ваш конечный результат должен выглядеть как for(var i=0; i<data.length; i++)

  • 0
    я исправил для части цикла теперь руль дает ошибку. похоже, что переменная html не определена, как видно в Chrome. любое предложение
  • 0
    Поскольку я не вижу всего, попробуйте добавить console.log(arguments); в вашем первом цикле. Это покажет вам данные, возвращаемые из вашего веб-сервиса. Вам нужно будет отлаживать оттуда.
0

function(html) ожидает блок кода после него:

function(html) { ..some code.. }
  • 0
    а [I] = HTML; находится внутри этой функции только. извините, я думаю, что я не понимаю вас

Ещё вопросы

Сообщество Overcoder
Наверх
Меню