Machen Sie getOffers
gib jqXHR getData
zurück gibt wie unten -
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
};
})();
Der jqXHR
Objekt, das von $.ajax({})
zurückgegeben wird ist ein Promise
-Wenn Sie eine Erfolgsantwort für die Ajax-Anfrage erhalten, können Sie einen Erfolgshandler wie diesen anhängen – außerhalb Ihrer Ajax-Anfrage
myApp.getOffers({
'showData': 1,
'myLocation': "Location1",
'clientID': "Client1"
}).done(function (data, textStatus, jqXHR) {
// work with DOM here
});
Mehr zu Jquery Deferreds/Promises hier -
Außerdem haben Sie getData
erstellt , getOffers
global durch fehlende var
während der Deklaration voran.
Gemäß Ihrem Kommentar zur Verwendung von POST
statt GET
, lautet die allgemeine Faustregel - GET
dient zum Abrufen von Daten, POST zum Speichern - nur weil Sie POST
verwenden Das bedeutet nicht, dass jemand die von Ihnen gesendeten Daten nicht mitschnüffeln kann, es ist nur ein Teil des Anforderungstexts anstelle der Anforderungs-URL. Wenn Sie der Meinung sind, dass die von Ihnen gesendeten Daten sehr sensibel sind, sollten Sie versuchen, SSL(HTTPS)
zu aktivieren für Ihre App.