SyntaxError:JSON.parse:意外字符

时间:2013-11-06 22:30:54

标签: javascript jquery json

我有一个JSON解析错误,我无法调试。代码如下:

$(document).on('submit', '#confirmreset', function(event) {
    event.preventDefault();

    var action_url = $(this).attr("action");
    alert_box_register("Resetting password...");
    console.log(action_url);
    var postData = $(this).serializeArray();
    console.log(postData);

    $.post(action_url, postData, function(data) {
        console.log(data);
        var obj = $.parseJSON(data);

        alert_box_register(obj.message);
    });
});

JSON:

{
    "status": "success",
    "message": "A temporary password has been emailed to you."
}

在Firefox中,错误是"语法错误:JSON.parse:意外字符",在Chrome中它"未捕获的语法错误:意外的标记C"

有什么想法吗?

* 编辑:这在我的localhost设置上正常工作。 *

3 个答案:

答案 0 :(得分:14)

如果服务器发送有效的JSON,则无需调用$.parseJSON,因为jQuery在检索响应时会自动解析它。我不知道确切的标准,但如果你设置了Content-type: application/json标题,肯定会

答案 1 :(得分:1)

此错误可能是由于字符串使用单引号('而不是双引号(")引起的。

JSON spec的字符串需要双引号。

另请参阅:

https://stackoverflow.com/a/14355724/1461850

答案 2 :(得分:0)

  1. 只放这些=>

    dataType: 'text', // 期望从 PHP 脚本返回什么,如果有的话 缓存:假, 内容类型:假, 流程数据:假,