0

認証後に不要なルート リダイレクトが発生しました

私のベースURLは http://127.0.0.1:8020/VT/

ユーザーがローカル ストレージにログインしていない場合は、ログイン ビューを読み込みます。ログインが成功すると、メイン メニュー ビューは正しくレンダリングされます。 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');
        }
    },

});

理由がわかりません。助言がありますか ?

4

0 に答える 0