我需要帮助处理来自我的服务器在 jquery 的 $.ajax 请求中的 403 错误。它将它作为 JS 错误发送,因为该请求被禁止,但我只希望错误成为 Ajax 响应的一部分,而不仅仅是导致整个应用程序失败的 JS 错误。403 来自 OAuth2。如果需要提供任何代码来更好地澄清我的问题,请告诉我。
我怎样才能做到这一点?
我需要帮助处理来自我的服务器在 jquery 的 $.ajax 请求中的 403 错误。它将它作为 JS 错误发送,因为该请求被禁止,但我只希望错误成为 Ajax 响应的一部分,而不仅仅是导致整个应用程序失败的 JS 错误。403 来自 OAuth2。如果需要提供任何代码来更好地澄清我的问题,请告诉我。
我怎样才能做到这一点?
解决方案:我发现每个 ajax 请求处理这种情况的最佳方法是使用 statusCode 方法:
statusCode: {
403: function() {
},
200: function(data) {
}
//other codes. read the docs for more details
}
这适用于我的所有应用程序:
(function($){
$(document).on('ajaxError', function(event, xhr) {
if (xhr.status === 401 || xhr.status === 403) {
window.location.reload();
}
});
})(jQuery);
检查提供的 URL 是否正确。
如果仍然收到 403 作为响应,请尝试使用 try - catch 块并相应地处理错误。
try
{
//Run some code here
}
catch(err)
{
//Handle errors here
}