SyntaxError:JSON.parse:JSON第1行第2列的意外字符

时间:2016-07-16 15:25:50

标签: javascript php jquery json ajax

我需要将此div附加到另一个div,但它给了我这个错误:

  

SyntaxError:JSON.parse:第1行第2列的意外字符   JSON数据

这是我的javascript代码:

var str = {'message': message,'text': text};
$.ajax({
    type: "POST",
    url: "api/reply",
    data: str,
    dataType: "json",
    cache: false,
    success: function(response)
    {
        var respons = jQuery.parseJSON(response);
        var type = respons.status
        if (type == 'success') {
            $("<div></div>").html(respons.message).appendTo("#messages");
        }
        else
        {
            toastr.error(respons.message)
        }
    }
})

4 个答案:

答案 0 :(得分:7)

试试这个:

var respons = jQuery.parseJSON(response);更改为var respons = response;

<强>解释

如果配置是dataType:json,那么你将不再需要javascript对象JSON.parse

答案 1 :(得分:4)

这是解析JSON的一种怪异且不合常规的方式,但是如果您仍然想通过AJAX调用使用JSON.parse()或仅在已经解析且不是字符串的JSON上使用,则可以使用{{ 1}}里面:

JSON.stringify()

答案 2 :(得分:1)

对象中的值似乎未定义。 更改 var str = {'message': message,'text': text};var str = {message: 'message',text: 'text'};

答案 3 :(得分:1)

问题是你没有解析字符串,你正在解析已经解析过的对象。