语法错误:JSON.parse:JSON 第 1 行第 2 列中的意外字符

2022-08-30 15:53:19

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

语法错误:JSON.parse:JSON 数据第 1 行第 2 列中的意外字符

这是我的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)
        }
    }
})

答案 1

只需更改

var respons = jQuery.parseJSON(response);

var respons = response;

解释:

如果 AJAX 调用的配置是有的,你会得到一个 JavaScript 对象,所以不再需要使用 JSON.parse()。dataType: json


答案 2

这是一种黑客和非正统的解析JSON的方式,但是如果您仍然想从AJAX调用中使用,或者只是在已经解析并且不是字符串的JSON上使用,则可以在其中使用:JSON.parse()JSON.stringify()

var respons = JSON.parse(JSON.stringify(response));