显示jQuery$.ajax503错误响应

显示jQuery$.ajax503错误响应,jquery,ajax,Jquery,Ajax,我试图显示一个文件的响应,该文件的响应为503错误 function netbootupdate() { $("#netbootstatus").html('Updating..'); $.ajax({ type: 'GET', url: 'clientarea.php', data: 'action=productdetails&id=' + $('#serverid').val() + '&modop=custom&a=netboot

我试图显示一个文件的响应,该文件的响应为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');
    }
    });
}

由于某些原因,数据没有给出回复的内容。

AFAIK,在某些浏览器中,当状态不是2xx、3xx时,XHR拒绝传递数据。如果您确实需要503响应的数据,请尝试重写服务器端的HTTP状态代码

complete(data,textStatus,XMLHttpRequest)
回调中,您可以检查
textStatus
中的字符串
error
以检测503。(哦,我刚刚意识到你已经知道了)

参考:

编辑:使用
complete()
而不是
success()
捕获所有结果

$.ajax({
   // ...
   // [other arguments]
   // ...
   error: function(xmlReq, txtStatus, errThrown){
     $('#status').text(xmlReq.responseText).addClass('errorBox');
   }
});

我想这就是你想要的,尽管不确定。无论哪种方式,
xmlReq
(如我所命名)都与之关联,您可以访问和引用。

我不知道这是否有帮助,但我有一个web服务,当数据库不可用时,我会强制它抛出503错误。它正确地返回HTTP503响应代码,但在我的客户端脚本中,返回的AJAX响应代码是500(服务器错误)。您可能希望有一个通用的5**响应代码处理程序,而不是一个特定的503,这样您就可以捕获所有与服务器相关的问题。这就是我最后要做的。

你为什么要把
数据
放在引号里?这是一个变量名。另外,对于参数,“data”实际上应该是
XMLHttpRequest,textStatus,errorshown
,这样您就可以获得有关返回错误的更多详细信息。啊,对不起。。。是的,数据在我的代码中没有引号,只是在一秒钟前将其设置为静态,以确保其输出在正确的位置。XMLHttpRequest和ErrorSwink为空。textStatus以错误响应。但是我想让它显示HTML响应。你确定它们是空的吗?前者应该是一个带有Ah的对象,如何获得要打印的responseText?
XMLHttpRequest.status
(假设这是参数的名称)——请