如何在jQuery中处理403 ajax响应

时间:2013-08-04 10:46:57

标签: jquery ajax error-handling

在jquery的$ .ajax请求中,我需要帮助处理来自我的服务器的403错误。它将其作为JS错误发送,因为请求被禁止但我只是希望错误成为Ajax响应的一部分,而不仅仅是整个应用程序失败的JS错误。 403来自OAuth2。如果需要提供任何代码以更好地澄清我的问题,请告诉我。

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:7)

解决方案:我发现每个ajax请求处理这种情况的最好方法是使用statusCode方法:

statusCode: {
   403: function() { 

   },
   200: function(data) {

   }
   //other codes. read the docs for more details
}

答案 1 :(得分:0)

检查提供的网址是否正确。

如果仍然收到403作为响应,请尝试使用try-catch块并相应地处理错误。

try
  {
  //Run some code here
  }
catch(err)
  {
  //Handle errors here
  }

答案 2 :(得分:0)

这非常适合我所有的应用程序

(function($){
    $(document).on('ajaxError', function(event, xhr) {
      if (xhr.status === 401 || xhr.status === 403) {
        window.location.reload();
      }
    });
})(jQuery);