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.