Lav getOffers returner jqXHR getData returnerer som nedenfor -
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
};
})();
jqXHR objekt returneret af $.ajax({}) er et Promise -Når du får et successvar for Ajax-anmodningen - kan du vedhæfte en succeshandler som denne - uden for din ajax-anmodning
myApp.getOffers({
'showData': 1,
'myLocation': "Location1",
'clientID': "Client1"
}).done(function (data, textStatus, jqXHR) {
// work with DOM here
});
Mere om Jquery Deferreds/Promises her -
Du har også lavet getData , getOffers global ved at mangle var foran under erklæringen.
I henhold til din kommentar til brug af POST i stedet for GET , den generelle tommelfingerregel er - GET er til hentning af data, POST til lagring - bare fordi du bruger POST det betyder ikke, at nogen ikke kan opsnuse de data, du sender, det er bare en del af anmodningsteksten i stedet for anmodningens URL. Hvis du mener, at de data, du sender, er virkelig følsomme, bør du overveje at aktivere SSL(HTTPS) til din app.