backbone + rails jquery不会调用错误回调

时间:2013-03-19 10:44:40

标签: jquery ruby-on-rails backbone.js coffeescript

我在骨干模型中创建了一个授权方法。它正确选择用户,问题是出错时会调用成功授权的回调......我似乎无法解决这个问题......

class Notes.Models.User extends Backbone.Model
  url: '/api/account'
  authorize: ->
    jQuery.ajax(
      type: 'POST'
      url: '/api/sessions.json'
      data:
        email: @get('email')
        password:  @get('password')
    ).success( (response) ->
      alert('success!')
      console.log(response)
    ).error( (response) ->
      alert('error')
    )

和rails部分

def create
    @user = User.authenticate params[:email], params[:password]
    if @user
      create_user_session @user
      respond_with @user, location:'/'
    else
      respond_to do |format|
        format.json { render json: { error: 'invalid email or password' } }
      end
    end
  end

你能帮忙吗?

1 个答案:

答案 0 :(得分:1)

jQuery ajax成功和错误回调基于HTTP状态代码。否则它怎么能知道请求是否成功。

所以你应该返回一个错误的http状态代码,如下所示:

format.json { render json: { error: 'invalid email or password' }, status: 401 }