显示jQuery $ .ajax 503错误响应

时间:2011-01-24 03:33:01

标签: jquery ajax

我正在尝试显示响应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');
    }
    });
}

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

3 个答案:

答案 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,因此您可以捕获所有与服务器相关的问题。这就是我最终要做的事情。