Hacer getOffers
devolver el jqXHR getData
devuelve como a continuación -
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
};
})();
El jqXHR
objeto devuelto por $.ajax({})
es una Promise
-Cuando obtiene una respuesta exitosa para la solicitud de Ajax, puede adjuntar un controlador de éxito como este, fuera de su solicitud de Ajax
myApp.getOffers({
'showData': 1,
'myLocation': "Location1",
'clientID': "Client1"
}).done(function (data, textStatus, jqXHR) {
// work with DOM here
});
Más sobre Jquery Deferreds/Promises aquí -
También hiciste getData
, getOffers
global al faltar var
al frente durante la declaración.
Según su comentario sobre el uso de POST
en lugar de GET
, la regla general es:GET
es para la recuperación de datos, POST para guardar, solo porque usa POST
eso no significa que alguien no pueda olfatear los datos que está enviando, es solo parte del cuerpo de la solicitud en lugar de la URL de la solicitud. Si cree que los datos que está enviando son realmente confidenciales, debería considerar habilitar SSL(HTTPS)
para su aplicación.