Here we go guys with a new extension!
Ext.ux.Ajax seems to replace the old Ext.Ajax, indeed.
Well, that's correct :P
Ext.Ajax is just a singleton of Ext.data.Connection, while Ext.ux.Ajax is a singleton that uses Ext.data.Connection and Ext.ux.Deferred!
And now, here I am to show you how Ext.ux.Ajax works 
Problem:
Code:
Ext.Ajax.request ({
url: 'data.json' ,
success: function (data) {
Ext.Ajax.request ({
url: 'data2.json' ,
success: function (data2) {
Ext.Ajax.request ({
url: 'data3.json' ,
success: function (data3) {
alert ("It's so hard to reach the top!");
} ,
failure: errorHandler
});
} ,
failure: errorHandler
});
} ,
failure: errorHandler
});
How Ext.ux.Ajax solves this problem:
Code:
Ext.ux.Ajax
.request ('data.json')
.then (Ext.ux.Ajax.request ('data2.json'), errorHandler)
.then (Ext.ux.Ajax.request ('data3.json'), errorHandler)
.then (function (data3) {
alert ("Ah! That's much better ;)");
}, errorHandler);
There's no magic behind this extension: in the request method, the AJAX request is wrapped into a promise (Ext.ux.Deferred instance) and it is returned, making the class chainable.
For more infos/examples/docs, see the github page: https://github.com/wilk/Ext.ux.Ajax
Soon on Sencha Market, as always 
Have fun, fellas!
Wilk