我正在尝试显示响应503错误的文件的响应。
function netbootupdate() {
$("#netbootstatus").html('Updating..');
$.ajax({
type: 'GET',
url: 'clientarea.php',
data: 'action=productdetails&id=' + $('#serverid').val() + '&modop=custom&a=netbootset&netbootid=' + $('#netbootid').val() + '&root=' + $('#root').val(),
timeout: 5000,
success: function(data) {
$("#netbootstatus").html(data);
$("#status").html('');
},
error: function(data) {
$("#status").html(data);
$('#status').addClass('errorbox');
}
});
}
由于某些原因,数据没有给我答复的内容。
答案 0 :(得分:1)
$.ajax({
// ...
// [other arguments]
// ...
error: function(xmlReq, txtStatus, errThrown){
$('#status').text(xmlReq.responseText).addClass('errorBox');
}
});
我认为这就是你想要的,但不确定。无论哪种方式,xmlReq
(正如我已经命名的那样)都与several properties相关联,您可以访问和引用它。
答案 1 :(得分:0)
AFAIK,在某些浏览器中,当状态为2xx,3xx时,XHR拒绝传递数据。如果确实需要503响应的数据,请尝试在服务器端重写HTTP状态代码。
在complete(data, textStatus, XMLHttpRequest)
回调中,您可以检查textStatus
字符串error
以检测503.(哦,我刚才意识到您已经知道了)
参考:http://api.jquery.com/jQuery.ajax/
修改:使用complete()
代替success()
来捕获所有结果。
答案 2 :(得分:0)
我不知道这是否有帮助,但我有一个Web服务,我强制在数据库不可用时抛出503错误。它正确返回HTTP 503响应代码,但在我的客户端脚本中,返回的AJAX响应代码为500(服务器错误)。您可能希望拥有一个通用的5 **响应代码处理程序,而不是特定的503,因此您可以捕获所有与服务器相关的问题。这就是我最终要做的事情。