I'm still trying to figure out how to use jQuery deferred object in recursive AJAX call. I have a code like this function request(page, items){ //building the AJAX return value for JSFiddle dummy AJAX endpoint var ret = { totalPage: 10, currentPage: page, items: [] }; for (var i = page; i < (page + 5); i++){ ret.items.push(i); } //calling the AJAX $.ajax({ url: '/echo/json/', method: 'POST', dataT