Skip to content

Instantly share code, notes, and snippets.

@SET001
Created December 23, 2011 00:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SET001/1512580 to your computer and use it in GitHub Desktop.
Save SET001/1512580 to your computer and use it in GitHub Desktop.
ajax_wrapper = {
override: {
success: function(data){
if (data.wrapped){
if (data.errors.length){
$.each(data.errors, function(key, error){
alert(error);
});
return false;
}
data = data.data;
}
return data;
},
error: function(jqXHR, textStatus, errorThrown){
var text ='';
switch(jqXHR.status){
case 403:
text = 'Forbidden';
break;
default:
text = jqXHR.responseText;
}
$.dialog({width: 800, buttons: ['ok']}, text);
},
},
request: function(_old){
var self = this;
return function(){
var _args = arguments;
$.each(self.override, function(name, value){
var old = _args[_args.length - 1][name];
_args[_args.length - 1][name] = function(data){
return old(self.override[name](data));
}
});
_args[_args.length - 1].dataType = 'json';
_old.apply(this, arguments);
};
},
};
$.ajax = function(_old){
return ajax_wrapper.request(_old);
}($.ajax);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment