webkit上的骨干不需要的路由重定向

时间:2013-03-12 18:51:14

标签: javascript backbone.js webkit routes underscore.js

我在身份验证后有一个不需要的路线重定向

我的基本网址是     http://127.0.0.1:8020/VT/

如果用户未登录localstorage,我将加载登录视图。 如果登录成功,主菜单视图会正确呈现, 我有这个不需要的自动重定向     http://127.0.0.1:8020/

这只发生在webkit浏览器上。 (没试过IE)

Router = new MainRouter();
    Backbone.history.start({ 
    pushState: false,
    root: "/VT/" 
});


var MainRouter = Backbone.Router.extend({

    routes: {
        "": "login",
        "login": "login",
        "main": "mainMenu"
    },

    showView: function(view){
        if (this.currentView){
          this.currentView.close();
        }
        this.currentView = view;
        this.currentView.render();
        $('#wrapper').html( this.currentView.el );
    },

    login: function(){
        var result = app.session.isLoggedIn();
        if(result == true){
            this.navigate('main', {trigger: true, replace: true});
        }
        else{
            var loginView = new LoginView();
            this.showView( loginView ); 
        }
    },

    mainMenu: function(){
        var mainMenu = new MainMenuView();
        this.showView( mainMenu );
    },

});

var LoginView = Backbone.View.extend({

    name: "Login",

    el: $('#page-login'),

    initialize : function() {
        this.template = _.template( app.get("tpl/nav/login.html") );
        this.clearStatusBar();
    },

    render: function(){
        var renderedContent = this.template();
        $(this.el).html(renderedContent);
        return this;
    },

    events: {
        "click input[type=submit]": "loginAction"
    },

    validate: function(){
        // some validation code
    },

    loginAction: function(){
        if( this.validate() ){
            app.router.navigate('main', {trigger: true, replace: true});
        }
        else{
            alert('Login failed');
        }
    },

});

我无法弄明白为什么。有什么建议吗?

0 个答案:

没有答案