Maak getOffers retourneer de jqXHR getData retourneert zoals hieronder -
var myApp = (function () {
var Var1 = [];
var getData = function (sendData) {
return $.ajax({
type: "POST",
url: URL,
data: sendData,
datatype: "json",
success: function (results) {}
});
};
var getOffers = function (sendData) {
// return the jqXHR returned by getData
return getData(sendData);
};
return {
getOffers: getOffers
};
})();
De jqXHR object geretourneerd door $.ajax({}) is een Promise -Wanneer u een succesreactie krijgt voor het Ajax-verzoek - u kunt een succeshandler als deze koppelen - buiten uw ajax-verzoek
myApp.getOffers({
'showData': 1,
'myLocation': "Location1",
'clientID': "Client1"
}).done(function (data, textStatus, jqXHR) {
// work with DOM here
});
Meer over JQuery Uitgestelde/Promises hier -
Ook heb je getData . gemaakt , getOffers globaal door var . te missen vooraan tijdens de aangifte.
Volgens uw opmerking over het gebruik van POST in plaats van GET , de algemene vuistregel is - GET is voor het ophalen van gegevens, POST om op te slaan - alleen omdat je POST gebruikt dat betekent niet dat iemand de gegevens die u verzendt niet kan ruiken, het is slechts een onderdeel van de aanvraagtekst in plaats van de aanvraag-URL. Als u denkt dat de gegevens die u verzendt erg gevoelig zijn, moet u overwegen om SSL(HTTPS) in te schakelen. voor uw app.