Javascript 意外标识符错误

标签 javascript jquery ajax

我在这行代码中遇到意外的标识符错误: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/

相关文章:

javascript - jQuery 将点击事件合并到单个 DRY 代码块中

javascript - laravel Elixir 映射类似文件

jquery - 在 JQuery 中获取本地化语言

javascript - jQuery - 选择一个仅包含超过一定数量子级的容器

php - 使用 AJAX 更改 <img> 的样式类

JavaScript - 将 3 个数字转换为百分比,不会产生 100% 的总数

javascript - 正则表达式 - 包含句点后的特定数字

javascript - 单击转到带有 id 引用解决方案的动态 url

php - AJAX JQuery 的问题

javascript - 函数永远不会调用第二个函数