error-handling - Ember ApplicationRoute无法处理错误事件

标签 error-handling ember.js

我无法让我的ApplicationRoute处理错误。服务器的401或500(来自“登录”操作)响应未触发我的ApplicationRoute中的错误事件。请帮忙!
我可以在控制台日志中看到401或500错误。

FullCircle.ApplicationRoute = Ember.Route.extend
  events: 
    error: (reason, transition) ->
      alert reason

  actions: 
    logout: ->
      this.controllerFor('application').logged_out()
      delete localStorage.authToken
      this.transitionTo 'login'

FullCircle.LoginRoute = Ember.Route.extend
  actions: 
    login: ->
      self = this
      loginController = @controllerFor 'login'
      data = loginController.getProperties("username", "password")
       # this would normally be done asynchronously

      $.post("/login", data).then (response) ->
        alert response.message
        if response.user
          localStorage.authToken = response.token

          applicationController = self.controllerFor 'application'
          transition = applicationController.get 'savedTransition'

          # set isLoggedIn so the UI shows the logout button
          applicationController.logged_in()

          # if the user was going somewhere, send them along, otherwise
          # default to `/posts`
          if transition
            transition.retry()
          else
            self.transitionTo '/documents'

最佳答案

从ember 1.0开始,事件哈希已重命名为action。路线的错误处理程序应位于操作哈希中。所以:

FullCircle.ApplicationRoute = Ember.Route.extend
  actions: 
    error: (reason, transition) ->
      alert reason
    logout: ->
      ...

关于error-handling - Ember ApplicationRoute无法处理错误事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18685186/

相关文章:

ember.js - Ember-CLI:有没有办法将(供应商)目录复制到/public/assets?

ember.js - 如何配置 Ember CLI 以使用 uncss

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

php - 安装所有LAMP组件后无错误输出

php - 网络服务器上的错误监控/处理

ember.js - 从 Ember Data 返回 promise 时出错

exception - 如果您是唯一接触代码的人,是否需要try/except block ?

来自文件的 Java 迷宫

javascript - Ember.js:livereload 服务器不工作

Ember.js:在 before/afterModel Hook 中访问 queryParams