我在这行代码中遇到意外的标识符错误:var player[data[x].split("|",1)] = data[x].split("|")[ 1];
响应数据采用以下格式:
Mike Trout|0\nRyan Braun|0\n...
这是完整的 JS 函数:
function updateChance(round, pickNumber)
{
$.ajax({
type: "GET",
data: {round: round, pickNumber: pickNumber},
url: "./lib/updatechance.php",
dataType: "html",
async: false,
success: function(response)
{
var data = response.split("\n");
for (var x=0; data.length; x++)
{
var player[data[x].split("|",1)] = data[x].split("|")[1];
}
for (var r = 1; r < $('#battersTable').rows.length; r++){
//do something with player
}
}
});
}
最佳答案
看看你在这里做了什么
.split("|",1) //wrong
和
.split("|")[1] //right
另一个问题,你有 var
带有括号符号,不会发生。
var player[data[x].split("|",1)] <-- var, should not be there
并且 for 循环缺少检查,因此将无限运行。
for (var x=0; data.length; x++) <-- data.length what?
为什么要分两次?一次事倍功半
for (var x=0; x<data.length; x++) {
var info = data[x].split("|");
player[info[0]] = info[1];
}
如果 player
未全局定义,则需要在循环之前定义它。
关于Javascript 意外标识符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14612823/