我们有一个使用struts2和struts2-jquery-plugin的web应用程序,我们需要在请求ajax调用时捕获403 http错误以重定向到登录页面。我们把这段代码:
$(function () {
//setup ajax error handling
$.ajaxSetup({
error: function (x, status, error) {
if (x.status == 403) {
redirectToLogin();
} else {
manageAjaxError(status, error);
}
}
});
});
这对所有ajax请求都没问题,但它不适用于来自struts2-jquery-plugin的jquery请求(例如:来自sj:submit按钮的调用),上面的代码没有执行。
找到的一个解决方案是在每个标记上设置 onErrorTopics ,但是在标签中不起作用(可能是一个错误)。
可以为struts-jquery-plugin的请求设置全局处理错误?
答案 0 :(得分:0)
我认为error.status正是您要找的,但您可以尝试使用控制台
$(function () {
//setup ajax error handling
$.ajaxSetup({
error: function (x, status, error) {
if (error.status == 403) {
redirectToLogin();
} else {
manageAjaxError(status, error);
},
complete: function (response, textStatus, jqXHR) {
console.log(jqXHR);
}
})
});