Faites getOffers
renvoie le jqXHR getData
renvoie comme ci-dessous -
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
};
})();
Le jqXHR
objet renvoyé par $.ajax({})
est une Promise
-Lorsque vous obtenez une réponse de succès pour la requête Ajax - vous pouvez joindre un gestionnaire de réussite comme celui-ci - en dehors de votre requête ajax
myApp.getOffers({
'showData': 1,
'myLocation': "Location1",
'clientID': "Client1"
}).done(function (data, textStatus, jqXHR) {
// work with DOM here
});
En savoir plus sur Jquery Deferreds/Promises ici -
Aussi vous avez fait getData
, getOffers
global en manquant var
devant lors de la déclaration.
Selon votre commentaire sur l'utilisation de POST
au lieu de GET
, la règle générale est - GET
est pour la récupération de données, POST pour l'enregistrement - simplement parce que vous utilisez POST
cela ne signifie pas que quelqu'un ne peut pas renifler les données que vous envoyez, cela fait simplement partie du corps de la demande au lieu de l'URL de la demande. Si vous pensez que les données que vous envoyez sont vraiment sensibles, vous devriez envisager d'activer SSL(HTTPS)
pour votre application.