Buat getOffers kembalikan jqXHR getData kembali seperti di bawah ini -
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 objek yang dikembalikan oleh $.ajax({}) adalah Promise -Ketika Anda mendapatkan respons sukses untuk permintaan Ajax - Anda dapat melampirkan penangan sukses seperti ini - di luar permintaan ajax Anda
myApp.getOffers({
'showData': 1,
'myLocation': "Location1",
'clientID': "Client1"
}).done(function (data, textStatus, jqXHR) {
// work with DOM here
});
Selengkapnya tentang Jquery Deferreds/Promises di sini -
Anda juga membuat getData , getOffers global dengan menghilangkan var di depan selama deklarasi.
Sesuai komentar Anda tentang penggunaan POST alih-alih GET , aturan umum adalah - GET adalah untuk pengambilan data, POST untuk menyimpan - hanya karena Anda menggunakan POST itu tidak berarti seseorang tidak dapat mengendus data yang Anda kirim, itu hanya bagian dari badan permintaan alih-alih URL permintaan. Jika menurut Anda data yang Anda kirim sangat sensitif, Anda harus mengaktifkan SSL(HTTPS) untuk aplikasi Anda.