json - jQuery 不处理来自 AJAX POST 的 JSON 响应

标签 json jquery post response http-post

更新:我正在发布 HTML FORM 数据,但希望收到 JSON 数据。我没有尝试发布 JSON 数据。

我正在尝试通过执行 HTML FORM POST 请求获取 JSON 响应。当使用简单的 HTML FORM POST 请求(即不是 AJAX)时,我已成功收到 JSON。我从 HTML FORM POST 得到的 JSON 响应是这样的:

{"success":true,"data":1234567}

当我尝试使用 jQuery 的 .ajax() 处理请求和响应时,就会出现问题。

$.ajax({
    type: "POST",
    url: URL,
    data: data1,
    dataType: "json",
    success: function(data, textStatus, jqXHR) {
        alert ("success");
    },
    error: function(xhr, status, error) {
        alert ("Error: " + error);
    }
});

运行上述代码并在 Firebug 中调试后,看起来 POST 请求正在执行,但响应的处理出现了问题。 Firebug 告诉我以下有关 POST 请求的 HTTP 响应的信息:

Response Headers
Cache-Control   private
Content-Length  31
Content-Type    application/json; charset=utf-8
...

看来 31 字节的数据正在发送。然而,当调试实际的 Javascript 时,错误函数被调用,xhr 对象是这样的:

Object { readyState=0, status=0, statusText="error"}

我知道 jQuery.ajax() 文档指出“在 jQuery 1.4 中,JSON 数据以严格的方式解析;任何格式错误的 JSON 都会被拒绝并引发解析错误。”不过,我相信我的 JSON 是有效的,因为我已经在 jsonlint.com 上检查过它。

还有什么可能出问题吗?

最佳答案

在我看来,您遇到了服务器错误。我会检查响应的状态代码并修复导致请求在服务器上失败的任何原因。

关于json - jQuery 不处理来自 AJAX POST 的 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6848596/

相关文章:

json - 使用 alt=json-in-script&callback 检索信息 V3 youtube API

php - 如何从 AJAX 以 JSON 形式返回数组并读取结果

javascript - 在vuejs中访问数组内部数组的值

json - 将 neo4j 日志文件自定义为 JSON

javascript - 使用 jquery 在悬停时展开文本表单

javascript - 使函数在用户悬停在链接上 2 秒后执行

javascript - 我如何使用 Axios 发布到 Django?

node.js - 从 Axios/React 将 json POST 到 Node/Express 服务器时出现问题

python - Django ajax上传图片

javascript - 你能为 grep 生成动态和多个条件吗?