Faça
getOffers
retorne o jqXHR getData
retorna como abaixo - 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
};
})();
O
jqXHR
objeto retornado por $.ajax({})
é uma Promise
-Quando você obtém uma resposta de sucesso para a solicitação Ajax - você pode anexar um manipulador de sucesso como este - fora da sua solicitação ajax myApp.getOffers({
'showData': 1,
'myLocation': "Location1",
'clientID': "Client1"
}).done(function (data, textStatus, jqXHR) {
// work with DOM here
});
Mais sobre Jquery Deferreds/Promises aqui -
Além disso, você fez
getData
, getOffers
global faltando var
na frente durante a declaração. De acordo com seu comentário sobre o uso de
POST
em vez de GET
, a regra geral é - GET
é para recuperação de dados, POST para salvar - só porque você usa POST
isso não significa que alguém não possa farejar os dados que você está enviando, é apenas parte do corpo da solicitação em vez da URL da solicitação. Se você acha que os dados que está enviando são realmente confidenciais, verifique a ativação de SSL(HTTPS)
para seu aplicativo.