php - jQuery.ajax() v1.5 为 json 数据返回 "parsererror"

标签 php ajax json jquery

我有从列表中获取服务器 ID 的函数。该函数总是返回“parsererror”。我查看了返回的 JSON 数据,但我似乎无法让它工作,因为 jQuery 在 v1.5 中重写了 ajax。

function server_id()
{
    $.ajax({
        type: "GET",
        url: "http://localhost/server_list.php",
        dataType: "json", 
        success: function(data, status) {
             alert(status + "\n\n" + data.server_id);
        },
        complete: function(data, status){
                  alert(status);
        }
    });

}

server_list.php

    header('Content-type: application/json');

    $output['server_id'] = '123';
    print json_encode($output);

在 firebug Net >> XHR 中,它在打开选项卡时将其读取为 JSON,响应选项卡显示下面的内容。

{"server_id":"123"}

我也试过像下面这样设置内容类型标题,但没有成功。

Content-type: application/json

已更新

如果验证插件是从 http://bassistance.de/jquery-plugins/jquery-plugin-validation 加载的,我只会得到“parsererror” docs.jquery.com/Plugins/Validation v1.7.

如果您添加插件,即使您设置为 false 或不包含 jsonp 的参数,jquery 也会自动将 jsonp 回调添加到查询字符串中。很奇怪

关于如何修复的任何想法?

谢谢

最佳答案

这里的简单解决方案似乎是 jQuery 1.5 与验证插件的 1.7 不兼容。降级到 jQuery 1.4.x(或按照 philhag 的建议修补或删除验证插件代码)解决了这个问题。

非常感谢此线程中发现冲突的人员。它让我免去了调试 jQuery 代码的麻烦。

关于php - jQuery.ajax() v1.5 为 json 数据返回 "parsererror",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4969146/

相关文章:

javascript - 动态添加不同大小的数据集到Google Visualization Chart

php - MySQL where 子句等于任何东西 (SELECT * WHERE col = ANY_VALUE)

jquery - 将 jQuery $.post 变量作为参数传递时出现问题

python - 将嵌套字典从 json 转换为以值作为列的数据框

php - 多个数组foreach循环mysql

php - MYSQL/PHP : newbie SQL question

即使服务器响应是带有有效 JSON 数据的 HTTP 200,JQuery Ajax 调用也会失败

javascript - 在下拉列表中的类别中拆分选项

json - 如何使用 Windows 命令行将 JSON 文件解析为变量?

javascript - JSON 和单选按钮输入?