2013-03-19 48 views
0

我在骨干模型中创建一个授权方法。它正确地选择用户,问题是在错误的成功授权回调叫...我似乎无法来解决这个问题...backbone + rails jquery不会调用错误回调

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') 
    ) 

和轨道部分

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

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

所以,你应该返回一个错误HTTP状态代码:

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

谢谢,我认为错误的是存在足够 – Elmor 2013-03-19 11:38:42