错误:[$ parse:syntax]语法错误:令牌','是一个意外的令牌

时间:2015-03-24 20:25:12

标签: javascript arrays angularjs

完整的错误消息是:

  

错误:[$ parse:syntax]语法错误:令牌','是表达式[“严重结果率”,“住院率”]第23列的意外令牌,从[,“住院率”]开始。

我有一串数据转换为数组,我试图使用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“”,“”“”,“”SYMMETREL“”,“”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]语法错误:令牌'结果'是表达[严重结果率,住院率]第9列的意外标记,从[结果率,住院率]开始。

1 个答案:

答案 0 :(得分:0)

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