【问题标题】:Error: [$parse:syntax] Syntax Error: Token ',' is an unexpected token错误:[$parse:syntax] 语法错误:标记 ',' 是意外标记
【发布时间】:2015-05-28 07:54:08
【问题描述】:

完整的错误信息是:

错误:[$parse:syntax] 语法错误:标记 ',' 是表达式 ["Serious Outcome Rate","Hospitalization Rate"] 的第 23 列中的意外标记,从 [,"Hospitalization Rate"] 开始。

我将一串数据转换为一个数组,然后尝试使用 Angular ng-csv 指令导出该数组。数组形式的数据的 console.log 显示如下:

[“”产品名称“”,“严重结果率”,“住院率”,“IME严重率”,“DME严重率”,“STALEVO”” 、“0.004234647”、“0.002063946”、“0.0058004”、“0.00050709”、“EXELON”、“0.004005612”、“0.001674727”、“0.00509257”、“ “0.00044815”、“COMTAN”、“0.000867331”、“0.000536579”、“0.00129375”、“0.00024444”、“AZILECT”、“0.000545076”、“0.000394459” “”、“0.00102432”、“0.00025449”、“PARLODEL”、“0.000375725”、“0.000230684”、“0.0009696”、“0.00012616”、“ARTANE” ,“0.00035673”,“0.000210014”,“0.00078005”,“0.00033002”,“REQUIP XL”,“0.000318172”,“0.000191126”,“0.00042839”, “0.0000432”、“MIRAPEX”、“0.000217509”、“0.000144021”、“0.00029248”、“0.00004242”、“SINEMET”、“0.000177481”、“” 0.000112357""""0.00019475"""0.00004321""""REQUIP""""0.000151958""""0.000099112""""0.00020999""""0.00001765""""SINEMET CR “”、“0.000135481”、“0.000090321”、“0.00013548”、“”“”、“对称”、“0.000” 083309""、""0.000045017""、""0.00017632""、""0.0000544""、""MIRAPEX ER""、""0.000074176""、""0.000074176""、""0.00004945""、""" ", ""COGENTIN"", ""0.00005202"", ""0.000020805"", ""0.00003236"", ""0.00000694""]

这是我的代码:

    var csvArray = csvData.split(',');
    csvArray.pop();

    var fp = grid.$root.find(".ng-grid-buttons");
    var csvDataLinkPrevious = grid.$root.find('.ng-grid-buttons .csv-data-link-span');
    var csvDataLinkPrevious2 = grid.$root.find('.ngHeaderButton2');
    if (csvDataLinkPrevious != null) {csvDataLinkPrevious.remove(); csvDataLinkPrevious2.remove(); }
    var csvDataLinkHtml = "<div class='ngHeaderButton2'></div>";
    csvDataLinkHtml += "<span type='button' ng-csv='"+csvArray+"' filename='data.csv' class='csv-data-link-span'><i class='fa fa-file-excel-o excel-icon'></i></span>";

    $(function() {
      angular.element(document).injector().invoke(function($rootScope, $compile) {
        var link = $compile(csvDataLinkHtml);
        csvDataLinkHtml = link(scope);
        fp.append(csvDataLinkHtml);
      });
    });

如果我从数组中的每个元素中删除一组引号,错误消息会略有不同:

错误:[$parse:syntax] 语法错误:标记“Outcome”是表达式 [Serious Outcome Rate,Hospitalization Rate] 的第 9 列中的意外标记,从 [Outcome Rate,Hospitalization Rate] 开始。

【问题讨论】:

  • 用单引号代替内引号怎么样?
  • 做到了!谢谢丹,没有更多的错误消息。现在只需要弄清楚为什么指令没有读取我的数组...

标签: javascript arrays angularjs


【解决方案1】:

按照 dan08 的建议用单引号替换内引号解决了这个问题。

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    相关资源
    最近更新 更多