Model view controller 在beforeModel中验证会话的成员
我有一个节点服务器,每当我在/session上执行get请求时,它都会返回有关用户的信息 我想在我的一条路径上验证beforeModel中的会话,如果会话已设置,那么我只允许用户加载该模型,否则我会在登录页面上用我的TransitionRoute发送给他,但它似乎不起作用 我从服务器上得到了正确的答案,但我不知道如何使用它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
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中获得正确的返回值?我可以在类外创建函数并在类内调用它吗?