MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Modèle de module Javascript avec rappel Ajax

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.