未捕获的语法错误:意外的标记o。

5

我正在开发一个web应用:

$("#post").click(function () {

    var u = $('#u').val();
    var j = $('#j').val();

    $.post("http://www.myweb.php", {
            u: u,
            j: j
        })
        .done(function (data) {


            var obj = jQuery.parseJSON(data);
            alert(obj.status );
            //alert("Data Loaded: " + data);
        });

});

当它试图检索JSON时,我会收到以下信息:
Uncaught SyntaxError: Unexpected token o

那么,data是什么? - robertklep
2
你所发布的代码中没有语法错误,问题可能出现在其他地方,也许是JSON数据格式有误。根据jQuery文档传入格式不正确的JSON字符串会导致JavaScript抛出异常 - rink.attendant.6
@rink.attendant.6,语法错误来自于JSON解析器。 - Pointy
请查看此链接:https://dev59.com/umMl5IYBdhLWcg3wyJby - Sudhir Bastakoti
1个回答

13

您不必调用.parseJSON()。您的响应已经被解析。您遇到此错误是因为传递给jQuery.parseJSON()方法的对象被转换为字符串"[object Object]"。意外的标记是"o"在"object"中。


如果我删除解析行,那么我应该使用data.status而不是obj.status吗? - Mike
@Mike 是的,或者只需将 data 分配给 obj - Pointy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接