使用struts2-jquery-plugin处理ajax错误

时间:2014-04-25 08:45:43

标签: jquery ajax plugins struts2

我们有一个使用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的请求设置全局处理错误?

1 个答案:

答案 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);
        }
    })
});