我有以下 JS 函数:
function setOptions(fullName, userID, qObjID) {
document.getElementById("reportUserButt").innerHTML = "<a id='reportUserButt' href='javascript:reportUser(" + userID + ");'> <h5>Report @" + fullName + "<span style='opacity: 0.5'> -- " + userID + "</h5></a>";
}
调用此函数:
// REPORT A USER ---------------------------------------
function reportUser(userID) {
$('#optionsModal').modal('hide');
console.log("userID: " + userID);
// Show loading modal
document.getElementById("loadingText").innerHTML = "Reporting User, please wait...";
$('#loadingModal').modal('show');
$.ajax({
url:"report-user.php?userID=" + userID,
type: "GET",
success:function(data) {
var results = data.replace(/\s+/, ""); //remove any trailing white spaces from returned string
console.debug(results);
$('#loadingModal').modal('hide');
alert("Thanks for reporting this user! We will check it out within 24h.");
// Reload page
setTimeout(function(){
location.reload();
}, 100);
// error
}, error: function (e) { alert(e);}
});
}
所以我确信我的 reportUserButt 是正确的,因为它在我的 php 页面中显示了“userID”变量,但是当我单击该变量时出现错误链接地址为:
Uncaught ReferenceError: azZkVUpgbG is not defined
azZkVUpgbG 是我需要的用户ID,那么我做错了什么?
最佳答案
Userid azZkVUpgbG
是一个字符串,当您将其传递给函数时:
href='javascript:reportUser(" + userID + ")';
代码变为:
href='javascript:reportUser(azZkVUpgbG)';
因此,如您所见,您使用参数 azZkVUpgbG
调用 reportUser
,该参数不是字符串。
所以,解决方案是添加引号:
href='javascript:reportUser(\"" + userID + "\");'
现在,您的代码变为
href='javascript:reportUser("azZkVUpgbG");'
然后将字符串传递给函数。
关于Javascript - 控制台成功打印我的数据时出现未捕获的 ReferenceError : azZkVUpgbG is not defined,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47495568/