javascript - 这个 JSON 有什么问题?

标签 javascript jquery json

以下 JSON 是我从服务器发回我的 jQuery 脚本的内容。

{"items": [
{ "id": "116", "first_name": "Sean", "last_name": "borsen" },
{ "id": "871", "first_name": "Sergio", "last_name": "spake" },
{ "id": "1337", "first_name": "SethTest", "last_name": "Test" }
],
"message": "success"
}

我打算用这个对象来建立一个html表格。但是,当我返回这种类型的 JSON 时,我会在 Chrome 中遇到以下两个错误之一:

Uncaught SyntaxError: Unexpected token ','

或者这个错误

Uncaught SyntaxError: Unexpected token ':'

这是我的 AJAX 邮政编码

            $.ajax({
                url: "ClientEmarGroup.aspx",
                datatype: 'json',
                data: eval('(' + d + ')'),
                success: bindData
            });

这是我在 bindData 函数中遇到错误的行:

    bindData = function (data) {
        var $d = eval("(" + data + ")");

此外,如果我像这样格式化我的 JSON 项目,我可以让脚本工作:

{"items": [
{ "id": "116", "name": "Sean borsen" },
{ "id": "871", "name": "Sergio spake" },
],
"message": "success"
}

但这不是我想要的。

所以我的问题是,我的 JSON 字符串格式有什么问题导致我无法将复杂对象发送回 jQuery?

如何格式化我的 JSON 以返回具有 2 个以上属性的项目数组?

最佳答案

您拼错了属性 dataType,注意大写 T。

这会导致 jQuery 尝试自行找出数据类型,如果您没有提供具有正确内容类型的 JSON,它会尝试将其解析为其他内容,例如 XML。

如果 jQuery 设法正确猜测数据类型,它会在调用成功函数之前将字符串解析为对象,因此您不应该再次解析数据。

注意:如果需要解析JSON,需要注意eval函数,应该使用$.parseJSON方法。

关于javascript - 这个 JSON 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764098/

相关文章:

javascript - AngularJS:仅当复选框被选中时,将一个输入框的值复制到另一个输入框

jquery - 更改时自动刷新 ListView - knockoutjs 和 JQuery Mobile

javascript - 在轮播上滑动图像时出现奇怪的行为

javascript - 按键jquery上的表单验证

java - 从 JSON 数组字符串创建 POJO 对象

javascript - 悬停时显示随机图像

javascript - 云函数中的 cors 错误

python - 使用混合 Django 模型和字典的 Django JSON 序列化

java - Jackson 和文件编码的奇怪错误

javascript - Reagent 不会在 let 内部使用 deref-ing 重新渲染组件