Zrób getOffers
zwróć jqXHR getData
zwraca jak poniżej -
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
obiekt zwrócony przez $.ajax({})
jest Promise
-Kiedy otrzymasz odpowiedź powodzenia dla żądania Ajax - możesz dołączyć procedurę obsługi sukcesu w ten sposób - poza żądaniem ajax
myApp.getOffers({
'showData': 1,
'myLocation': "Location1",
'clientID': "Client1"
}).done(function (data, textStatus, jqXHR) {
// work with DOM here
});
Więcej o Jquery Deferreds/Promises tutaj -
Zrobiłeś także getData
, getOffers
globalny przez brak var
z przodu podczas deklaracji.
Zgodnie z Twoim komentarzem na temat używania POST
zamiast GET
, ogólna zasada brzmi:GET
służy do pobierania danych, POST do zapisywania - tylko dlatego, że używasz POST
nie oznacza to, że ktoś nie może powąchać wysyłanych danych, jest to po prostu część treści żądania zamiast adresu URL żądania. Jeśli uważasz, że wysyłane dane są naprawdę wrażliwe, powinieneś rozważyć włączenie SSL(HTTPS)
dla Twojej aplikacji.