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

2022-08-30 00:24:28

我正在向我的jQuery发送错误响应。但是,我无法获得响应文本(在下面的示例中,这将是去海滩)

jQuery唯一说的是“错误”。

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

菲律宾比索

<?
    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]

警报:

无法执行,因为:错误

有什么想法吗?


答案 1

尝试:

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

答案 2

对我来说,这很简单:

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