Okay i have been fighting with this for a few hours.
I manually return different status codes... if status is 200 it is successfull and completes.
but i have tried a lot of the 400 codes example: 400, 401, 403, 404 to get the error to trigger and never get it to work
when i pass anything besides status of 200 it will just reload page... but if status is 200 it will log in and alert complete too...
(function( $ ) {
var Core = Core || {};
Core = {
init: function (){
},
api: {
submit: function( ajax_url, ajax_data, callback ){
var auth_token = '';
if( Core.auth.isAuthenticated() ) {
auth_token = Core.auth.authToken.get();
}
$.ajax({
type: "GET",
dataType: "jsonp",
// test
url: "http://192.168.1.65:3000/" + ajax_url,
// live
//url: "http://www.customsite.com/" + ajax_url,
cache: false,
//data: ajax_data,
data: 'auth_token='+ auth_token + '&' + ajax_data,
success: function(data) {
if(typeof callback.onSuccess == 'function'){
callback.onSuccess.call(this, data);
}
},
error: function(data){
if(typeof callback.onError == 'function'){
callback.onError.call(this, data);
}
},
complete: function(data){
if(typeof callback.onComplete == 'function'){
callback.onComplete.call(this, data);
}
}
});
}
}
};
$( Core.init );
window.Core = Core;
})(jQuery);
Form submit
authenticate: {
onSubmit: function(form_obj) {
var ajax_url = form_obj.attr('action'),
ajax_data = form_obj.serialize();
Core.api.submit( ajax_url, ajax_data,
{
onSuccess: Core.login.authenticate.onSuccess,
onError: Core.login.authenticate.onError,
onComplete: Core.login.authenticate.onComplete
}
);
},
onSuccess: function(data) {
Core.auth.authToken.set(data.access_token, 30);
window.location = 'index.html';
},
onError: function(data) {
alert('ERROR');
},
onComplete: function(data) {
alert('Complete');
}
}
rails Application:
def create
resource = User.find_for_database_authentication(:email => params[:user][:email])
if resource.valid_password?(params[:user][:password])
resource.reset_authentication_token!
render :json => {:access_token => resource.authentication_token, :token_type => "persistant"}, :callback => params[:callback], :status => 200
else
render :json => {:error => "invalid_grant"}, :callback => params[:callback], :status => 404
end
end