我正在创建一个错误钩子(error hook)在我的Ember.js应用程序中。如果您无权查看某些内容(换句话说,如果服务器返回401),则会将您重定向到身份验证服务。
它看起来像这样:
Ember.Route = Ember.Route.extend({
error: function(error, transition){
if (error.status === 401) {
window.location.replace("https://auth.censored.co.za");
}
}
我们的认证API如下工作:如果您发送了一个名为
target
的参数(它是一个URL),在您登录后,它将重定向回该目标URL。因此,我想以某种方式获取Ember应用程序尝试转换到的路由的URL。
然后我的代码将变成这样。
Ember.Route = Ember.Route.extend({
error: function(error, transition){
if (error.status === 401) {
var target = // Your answer here
window.location.replace("https://auth.censored.co.za?target=" + encodeURIComponent(target));
}
}