Javascript未捕获的语法错误意外标识符错误

Posted

技术标签:

【中文标题】Javascript未捕获的语法错误意外标识符错误【英文标题】:Javascript uncaught syntaxerror unexpected identifier error 【发布时间】:2015-06-15 19:52:43 【问题描述】:

基本上,该方法会打印一个包含值的列表,当我单击一个值时,会出现以下错误:Uncaught SyntaxError: Unexpected identifier on line 6。

因此,我无法将点击的值传递给 liveSearch 方法。我曾尝试在网上搜索以解决错误,但无济于事,我找不到解决方案。请指教。

function printSuggestResult(arrOfSuggestText,getRows)
    var htmlStr  = "<button id='dropdownB' href='#' class='dropdown-toggle btn btn-default'data-toggle='dropdown'>Found  <span id='resultCount' class='badge'></span> &nbsp</b></button><ul class='list-group  scrollable-menu'>";

    for(var i=0; i<arrOfSuggestText.length; i++)
        htmlStr += "<li class='list-group-item '>";

        if(arrOfSuggestText[i] != "null")
            htmlStr +=  '<a id="searchResult'+i+'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" > '+arrOfSuggestText[i]+'</a>';
        
        htmlStr += "</li>";
    

    htmlStr += "</ul>";

    document.getElementById('searchResultList').innerHTML = htmlStr;
        $('#resultCount').text(getRows);
    

function liveSearch(getText)
    var arrOfText = new Array();
    var arrOfLat = new Array();
    var arrOfLon = new Array();

    getText = getText.replace(" ","+");
    var testy = encodeURIComponent(getText);

【问题讨论】:

“我收到这个错误:Uncaught SyntaxError: Unexpected identifier。” 在哪一行? htmlStr += ' '+arrOfSuggestText[i]+''; htmlStr += '&lt;a id="searchResult'+i+'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" &gt; '+arrOfSuggestText[i]+'&lt;/a&gt;'; 这一行有很多 " ' 错误。 你能帮我正确的语法吗? 可能还值得指出的是,您应该使用DOM manipulation 来避免为innerHTML 连接字符串而感到头疼 【参考方案1】:

在这一行

htmlStr +=  '<a id="searchResult'+i+'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" > '+arrOfSuggestText[i]+'</a>';

这里具体'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" &gt; ' 你尝试创建调用函数,但是如果你看到这个字符串的值,对于arrOfSuggestText[i] == 'qwe' 你可以看到类似的东西

href="javascript:liveSearch(qwe)"

浏览器会在qwe 上引发错误。

所以你只需要在like周围加上引号

'" href="javascript:liveSearch(\''+arrOfSuggestText[i]+'\')" > '

【讨论】:

有效!多亏了你,我学到了一些有价值的东西!非常感谢!

以上是关于Javascript未捕获的语法错误意外标识符错误的主要内容,如果未能解决你的问题,请参考以下文章

从文本文件加载 Json 对象 - 返回未捕获的语法错误:意外标记“[”

未捕获的语法错误意外令牌 U JSON

错误:未捕获的语法错误:意外的令牌 <

WCF 跨域使用 Jsonp 错误未捕获语法错误:意外令牌:

致命错误:未捕获的异常“Phalcon\Mvc\Model\Exception”与消息“语法错误,意外令牌>,

未捕获的语法错误:意外的令牌:getJSON