i make ton of ajax requests in application using ext.ajax.request
. lot of times don't want or have time put in fancy error handling if request fails, end doing this:
ext.ajax.request({ url: 'requesturl', success: function (response) { //request successful. stuff response }, failure: function () { ext.msg.alert('unknown error', 'please alert administrator.'); }
i'm wondering if there's way can define default ajax request failure function don't have include failure parameter on every ajax request write.
you create own custom method on ext.ajax
has default failure handler. in example mocked ext
object simplicity.
//placeholder actual ext object purposes of demonstration var ext = { ajax: { request: function (r) { //simulate failure r.failure(); } }, msg: { alert: function (title, message) { var el = document.createelement('div'); el.innerhtml = title + ' - ' + message; document.body.appendchild(el); } } } //add custom method ext.ajax ext.ajax.requestwithdefaultfailure = function (r) { r.failure || (r.failure = function () { ext.msg.alert('unknown error', 'please alert administrator.'); }); ext.ajax.request(r); }; //now make calls new method ext.ajax.requestwithdefaultfailure({ url: 'requesturl', success: function (response) { //request successful. stuff response } }); ext.ajax.requestwithdefaultfailure({ url: 'anotherurl', success: function (response) { //request successful. stuff response }, failure: function () { ext.msg.alert('error', 'i specified failure handler, make sure use 1 instead of default.') } });
or, if want leave ext
untouched, define own module helper methods , use that:
var exthelpers = { ajaxrequestwithdefaultfailure: function (r) { r.failure || (r.failure = function () { ext.msg.alert('unknown error', 'please alert administrator.'); }); ext.ajax.request(r); }; };
Comments
Post a Comment