getAjaxPromise(myUrl, true, myType, myContentType, mySuccessFunction, myFailureFunction, myData, true) .then(function(data)
{
//Do something with the data returned form second Ajax call.
//But data returned here is from first ajax.
});
self.getAjaxPromise = function(url, async, type, contentType, successCallback, errorCallback, data, isSecureCall)
{
if (isSecureCall) {
var tokenPromise = getTokenPromiseFromServer(); //Another Ajax call to get latest token from service
tokenPromise.then(function(tokenData) { //This then runs fine
return $.ajax({
beforeSend: function(request) {
request.setRequestHeader("authKey", tokenData.key);
},
url: url,
async: async,
type: type,
contentType: contentType,
success:
successCallback,
error: errorCallback,
data: JSON.stringify(data)
});
});
} else { //Just one ajax call
return $.ajax({
beforeSend: function(request) {
request.setRequestHeader("authKey" , "anonymous");
},
url: url,
async: async,
type: type,
contentType: contentType,
success: successCallback,
error: errorCallback,
data: JSON.stringify(data)
});
}
};
In the above code, when I write .then() i get the response of first ajax call, I dont need the response of first ajax, instead i want to get the response of the ajax inside the first ajax's then().
How can i achieve that?
P.S: i have edited the question and added the code for reference.