如何获取 jQuery $.ajax 错误响应文本?

新手上路,请多包涵

我正在向我的 jQuery 发送错误响应。

但是,我无法获得响应文本(在下面的示例中,这将是 Gone to the beach

jQuery 唯一说的是“错误”。

有关详细信息,请参阅此示例:

php

<?
    header('HTTP/1.1 500 Internal Server Error');
    print "Gone to the beach"
?>

jQuery

$.ajax({
    type:     "post",
    data:     {id: 0},
    cache:    false,
    url:      "doIt.php",
    dataType: "text",
    error: function (request, error) {
        console.log(arguments);
        alert(" Can't do because: " + error);
    },
    success: function () {
        alert(" Done ! ");
    }
});

现在我的结果是:

日志:

 [XMLHttpRequest readyState=4 status=500, "error", undefined]

警报:

不能这样做,因为:错误

有任何想法吗?

原文由 jantimon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

尝试:

 error: function(xhr, status, error) {
 var err = eval("(" + xhr.responseText + ")");
 alert(err.Message);
 }

原文由 Alex Bagnolini 发布,翻译遵循 CC BY-SA 3.0 许可协议

对我来说,这很有效:

 error: function(xhr, status, error) {
  alert(xhr.responseText);
}

原文由 HaoQi Li 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题