Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model view controller 在beforeModel中验证会话的成员_Model View Controller_Ember.js - Fatal编程技术网

Model view controller 在beforeModel中验证会话的成员

Model view controller 在beforeModel中验证会话的成员,model-view-controller,ember.js,Model View Controller,Ember.js,我有一个节点服务器,每当我在/session上执行get请求时,它都会返回有关用户的信息 我想在我的一条路径上验证beforeModel中的会话,如果会话已设置,那么我只允许用户加载该模型,否则我会在登录页面上用我的TransitionRoute发送给他,但它似乎不起作用 我从服务器上得到了正确的答案,但我不知道如何使用它 App.HomeRoute = Ember.Route.extend({ beforeModel: function() { if (this

我有一个节点服务器,每当我在/session上执行get请求时,它都会返回有关用户的信息

我想在我的一条路径上验证beforeModel中的会话,如果会话已设置,那么我只允许用户加载该模型,否则我会在登录页面上用我的TransitionRoute发送给他,但它似乎不起作用

我从服务器上得到了正确的答案,但我不知道如何使用它

    App.HomeRoute = Ember.Route.extend({
    beforeModel: function() {
        if (this.isSession() == true) {
            console.log('OK continue');
        }
        else {
            console.log('GTFO');
            this.transitionToRoute('login');
        }
    },
    model: function() {
        return this.store.all('user');
    },
    isSession: function() {
        $.ajax({
            url: host + 'mdf/session',
            type: 'GET',
            accepts: 'application/json',
            success: function(data) {
                console.log('DEBUG: GET Session OK');
                return true;
            },
            error: function() {
                console.log('DEBUG: GET Session Failed');
                return false;
            }
        });
    }
});
当我在使用GTFO日志之前未登录就试图进入我的/家时,出现了此错误

Error while loading route: TypeError: Object [object Object] has no method 'transitionToRoute'
问题是,我登录时也有GTFO消息。。。我已经检查了我的isSession的返回,它是“未定义的”

但我也有日志,上面说我的疗程还行


我有点迷路了

在routes中,您可以使用
this.transitiono('route')
而不是
this.transitionotroute('route')
<代码>转换路径用于控制器,而
转换路径
用于路径

嘿,谢谢!!我真是太蠢了:哦。。但是我的函数isSession仍然存在问题,为什么我不能在beforeModel中获得正确的返回值?我可以在类外创建函数并在类内调用它吗?