SyntaxError: missing ) after argument list in javascript function with json response
SyntaxError: missing ) after argument list in javascript function with json response
这似乎是重复的,但在我的情况下有点不同。
我有以下代码:
function stateList() {
function parseStateList(response){
var stateTable= "<table><tr><td style='width: 500px; color: blue;'>Folder name (state)</td></tr>";
console.log(response);
statelist=response["States"];
console.log(statelist);
for (var i in statelist) {
a = statelist[i];
var index = Object.keys(statelist).indexOf(i)
console.log("i="+index);
console.log(statelist[i]);
stateTable+="<tr><td style='width: 500px;'><button id=\""+index+"\" onclick=\"GetSavedState("+a+",parseSavedState)\">" + a + "</button></td></tr>";
//document.getElementById(index).onclick = function(){GetSavedState(a,parseSavedState);};
}
stateTable+="</table>";
document.getElementById('state_output').innerHTML = stateTable;
}
GetStateList(parseStateList);
}
我在参数列表
后收到此错误SyntaxError: missing )
错误不在您在问题中输入的代码中。我制作了一个虚拟 GetStateList
函数,该代码段工作正常。这指向错误,例如,在您从 GetStateList
.
获得的响应的结构中
PD:我冒昧地引用了 GetSavedState
的第一个参数,因为您将它作为变量传递,而 a
是一个字符串。
function GetStateList(callback) {
callback(
{
"States":{
"CA":"California",
"FL":"Florida"
}
});
}
function GetSavedState(stateusps, callback) {
callback(stateusps);
}
function parseSavedState(savedState) {
console.log(savedState);
}
function stateList() {
function parseStateList(response) {
var stateTable = "<table><tr><td style='width: 500px; color: blue;'>Folder name (state)</td></tr>";
console.log(response);
statelist = response["States"];
console.log(statelist);
for (var i in statelist) {
a = statelist[i];
var index = Object.keys(statelist).indexOf(i)
console.log("i=" + index);
console.log(statelist[i]);
stateTable += "<tr><td style='width: 500px;'>";
stateTable += "<button id=\"" + index + "\" onclick=\"GetSavedState('" + a + "',parseSavedState)\">" + a + "</button>";
stateTable += "</td></tr>";
}
stateTable += "</table>";
document.getElementById('state_output').innerHTML = stateTable;
}
GetStateList(parseStateList);
}
stateList();
<div id="state_output"></div>
这并没有回答您的错误,它只是证明它不是您认为的位置。
这似乎是重复的,但在我的情况下有点不同。 我有以下代码:
function stateList() {
function parseStateList(response){
var stateTable= "<table><tr><td style='width: 500px; color: blue;'>Folder name (state)</td></tr>";
console.log(response);
statelist=response["States"];
console.log(statelist);
for (var i in statelist) {
a = statelist[i];
var index = Object.keys(statelist).indexOf(i)
console.log("i="+index);
console.log(statelist[i]);
stateTable+="<tr><td style='width: 500px;'><button id=\""+index+"\" onclick=\"GetSavedState("+a+",parseSavedState)\">" + a + "</button></td></tr>";
//document.getElementById(index).onclick = function(){GetSavedState(a,parseSavedState);};
}
stateTable+="</table>";
document.getElementById('state_output').innerHTML = stateTable;
}
GetStateList(parseStateList);
}
我在参数列表
后收到此错误SyntaxError: missing )错误不在您在问题中输入的代码中。我制作了一个虚拟 GetStateList
函数,该代码段工作正常。这指向错误,例如,在您从 GetStateList
.
PD:我冒昧地引用了 GetSavedState
的第一个参数,因为您将它作为变量传递,而 a
是一个字符串。
function GetStateList(callback) {
callback(
{
"States":{
"CA":"California",
"FL":"Florida"
}
});
}
function GetSavedState(stateusps, callback) {
callback(stateusps);
}
function parseSavedState(savedState) {
console.log(savedState);
}
function stateList() {
function parseStateList(response) {
var stateTable = "<table><tr><td style='width: 500px; color: blue;'>Folder name (state)</td></tr>";
console.log(response);
statelist = response["States"];
console.log(statelist);
for (var i in statelist) {
a = statelist[i];
var index = Object.keys(statelist).indexOf(i)
console.log("i=" + index);
console.log(statelist[i]);
stateTable += "<tr><td style='width: 500px;'>";
stateTable += "<button id=\"" + index + "\" onclick=\"GetSavedState('" + a + "',parseSavedState)\">" + a + "</button>";
stateTable += "</td></tr>";
}
stateTable += "</table>";
document.getElementById('state_output').innerHTML = stateTable;
}
GetStateList(parseStateList);
}
stateList();
<div id="state_output"></div>
这并没有回答您的错误,它只是证明它不是您认为的位置。