【问题标题】:javascript : Uncaught SyntaxError: Unexpected identifierjavascript:未捕获的语法错误:意外的标识符
【发布时间】: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 &lt;= data.length; i++) { , 而不是 ;
  • 我修复了循环部分,现在车把出现错误。似乎 html 变量未定义,如 chrome 中所示。任何建议

标签: javascript jquery


【解决方案1】:

function(html) 后面有一个代码块:

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

【讨论】:

  • a[i]=html;仅在该功能内。对不起,我想我不能得到你
【解决方案2】:

您的 for 循环有 2 个错误:

1) 用分号替换逗号

2) 您应该将 &lt;= 更改为 &lt;

所以你的最终结果应该类似于for(var i=0; i&lt;data.length; i++)

【讨论】:

  • 我修复了循环部分,现在车把出现错误。似乎 html 变量未定义,如 chrome 中所见。任何建议
  • 由于我看不到所有内容,请尝试在您的第一个循环中添加console.log(arguments);。这将向您显示从您的 Web 服务返回的数据。您需要从那里进行调试。
猜你喜欢
  • 2015-06-15
  • 2013-11-28
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
相关资源
最近更新 更多