backbone.js app jquery ajaxsetup在切换视图时并不总是有效

时间:2014-05-05 21:39:53

标签: javascript jquery ajax backbone.js

我正在使用backbone.js,每次返回403和401错误时我都需要显示登录视图。 我已经尝试了以下内容,但似乎它在第一次使用ajaxSetup'后停止侦听错误:

$(document).on('ready', function(){
    app.loadTemplates(['ShellView','HomeView','LoginView'],
        function() { //callback function after template loading
            app.router = new app.Router();
            Backbone.history.start();
            $.ajaxSetup({
                statusCode: {
                    401: function(){
                        //unauthorized, redirect to login page
                        app.router.login();
                    },
                    403: function(){
                        //access denied
                        app.router.login();
                    }
                }
            });
        }
    );
});

我应该如何实现$ .ajaxSetup每次都显示我的登录视图 - 而不仅仅是一次 - 当返回401和403错误时?

谢谢

1 个答案:

答案 0 :(得分:0)

回答我自己的问题......

问题不在于ajaxSetup。问题是视图之间的切换没有为我离开的视图执行view.remove()

有关如何使用骨干以正确方式切换视图的更多信息,请阅读本教程: http://mikeygee.com/blog/backbone.html