javascript - Ember - 防止路由错误转换

标签 javascript ember.js error-handling url-routing

我正在拦截error卡在我的 ember 路线上。我在顶层这样做并从这个类继承我的所有路线。

我想要做的是,当服务器返回 401 未授权 响应,我想显示一条通知说用户未授权,并留在同一页面上。

到目前为止,我有这个:

Ember.Route = Ember.Route.extend(InfinityRoute, {
  actions: {
    error: function(error){
      if (error.status === 401) {
        this.store.createRecord('notice', {
          message: "You are not authorized to view this content. Sorry man."
        });
        // Some code here ...
      }
    }
  }
});

通知有效,但应用程序仍切换到新模板,该模板内容为空,因为用户无权查看它。

我希望我的应用程序保持在同一页面上,而不是转换到请求的页面。

如何?

最佳答案

我不确定,但你可以试试willTransition :

willTransition: function(transition) {
  // inspect transition object to see if the error ocurred
}

也许它会有所帮助:)

关于javascript - Ember - 防止路由错误转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30998689/

相关文章:

javascript - 覆盖默认警报和确认框

php - htaccess 中的自定义 404 错误处理程序不适用于不存在的 ".php"文件

r - plyr 并行错误处理和警告

ember.js - 对不同的对象重用模型

javascript - ember 转换 ajax 查询字符串

php - 处理40 4's with Named Location in Nginx and returning custom 404'

javascript - responsiveslides.js - 为每张幻灯片分配特定的超时

javascript - react : How should I populate the HTML?

javascript - forEach 未处理的拒绝错误

javascript - Ember if 组件属性的助手