在完全正确的参数列表后出现未捕获的语法错误:缺少)。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在完全正确的参数列表后出现未捕获的语法错误:缺少)。相关的知识,希望对你有一定的参考价值。
我是用javascript发送一个Ajax请求,用返回的数据创建一个 "a "标签,标签上有一个onclick事件,这个事件调用另一个方法,有一个参数。这就是代码的植入。
function loadHistory() {
var detailsForGet = {
userId: sessionStorage.getItem("userName")
}
$.ajax({
type: "GET",
url: "https://localhost:44326/User/getTwitterSearchHistory",
data: detailsForGet,
success: function (data) {
jQuery.each(data, function (index, item) {
console.log(item)
$('<a href="#" onclick="historySearch(' + item + ')">' + item + '</a><br/>').appendTo('#forHistory');
});
}
});
}
function historySearch(text) {
console.log(text)
document.getElementById('tweetSearching').innerhtml = "Searching...";
$.getJSON("https://localhost:44326/api/Twitter/GetSearchResults?searchString=" + text)
.done(function (data) {
if (data.length == 0) {
document.getElementById('tweetSearching').innerHTML = "No matches Found!";
}
else {
document.getElementById('tweetSearching').innerHTML = "Found " + data.length + " matches!";
console.log(data)
document.getElementById('searchResults').innerHTML = "";
$('<h3 style="text-align:center; color: white">Search Results</h3> <hr/>').appendTo('#searchResults');
$.each(data, function (key, item) {
$('<ul style="list-style:none;"><li><span style="font-weight: bold; color: white;">Post </span><span style="color: white;">' + item.FullText + '</span><br/><span style="font-weight: bold; color: white;">Uploader</span><span style="color: white;"> ' + item.CreatedBy.Name + " @" + item.CreatedBy.ScreenName + '</span><br/><span style="font-weight: bold; color: white;">Date</span><span style="color: white;"> ' + formatDateTwitter(item.CreatedAt) + '</span><li/><hr/></ul>').appendTo('#searchResults');
});
}
});
}
现在,当我试图按下 "a "标签时,我得到了错误信息
在参数列表后出现未捕获的语法错误:缺少)。
现在,我注意到,只有当我在onclick函数中调用一个带参数的方法时,才会发生这种情况,因为,之前我试图调用一个没有参数的函数,它就会进入其中。但是,当我试图传递一个参数时,它就会返回那个错误。
我是不是在这里没有看到什么?
答案
如果你的 item
是一个字符串,你需要在你的onclick JavaScript中用引号将该值括起来。由于你已经使用单引号来构建你的HTML字符串,你可以添加单引号编码为 x27
.
$('<a href="#" onclick="historySearch(x27' + item + 'x27)">' + item + '</a><br/>').appendTo('#forHistory');
另请参阅。JavaScript中的转义引号
以上是关于在完全正确的参数列表后出现未捕获的语法错误:缺少)。的主要内容,如果未能解决你的问题,请参考以下文章
部署Django+React到Heroku - 未捕获的语法错误。意外的标记'<'
未捕获的语法错误:Bootstrap.esm.min.js:6