【问题标题】:parsererror / SyntaxError: Unexpected token <parsererror / SyntaxError: Unexpected token <
【发布时间】:2014-07-19 10:34:48
【问题描述】:

我为此搜索了很多,但我找到的答案不起作用,但我认为问题出在我身上。

JavaScript:

$.ajax({
    type: 'POST',
    url: url,
    data: data,
    dataType: 'json',
    success: function(response) {
        if(response.status == true) {
            alert('ok');
        } else {
            alert('error');
        }
    },
    error: function(xhr, desc, err) {
        console.log(xhr);
        console.log("Details: " + desc + "\nError:" + err);
    }
});

PHP

if(User::addFavLater($id, $user, 'favs')) {
    $result = array("status" => true);
} else {
    $result = array("status" => false);
}

header('Content-type: application/json');
echo json_encode($result);

所以,这是我拥有的代码摘录,我想你能意识到。我希望 PHP 向 JavaScript 发送 JSON 响应,但这没有发生,JavaScript 给了我这个错误:

parsererror / SyntaxError: Unexpected token <

我使用的是 2.1.1 版本的 JQuery。

P.S.:对不起我的英语。

【问题讨论】:

    标签: javascript php jquery ajax json


    【解决方案1】:

    $.ajax方法中,成功回调在变量datasuccess:function(data){...})中接收服务器(JSON文件)的响应。因此,尝试从该变量中恢复您想要的值(在您的情况下,类似于data.response 而不仅仅是response)。

    【讨论】:

    • 您的 PHP 文件中应该有错误。然后,服务器响应是一个带有错误描述的 HTML 片段,而不是预期的 JSON 内容。尝试在控制台的 Network 面板中检查 AJAX 请求接收到的数据。
    猜你喜欢
    • 1970-01-01
    • 2012-05-17
    • 2019-02-10
    • 2019-11-10
    • 2014-07-08
    • 2013-11-15
    • 2020-09-26
    • 2011-03-09
    • 2014-01-06
    相关资源
    最近更新 更多