J’ai une fonction Javascript appelée getCartProducts()
qui obtient un tableau JSON via AJAX en utilisant $.post()
qui renvoie une valeur. Je veux laisser ma fonction renvoyer cette valeur, mais je ne sais pas comment le faire.
Voici ma fonction:
function getCartProduct(id){ $.post('core/ajax/getCartProduct.ajax.php', {id: parseInt(id)}, function(data){ var result = data; }); return result; }
Je sais que cela ne fonctionnera pas, car le résultat de la variable n’est actif que dans la fonction $.post()
, mais je ne sais pas comment le comprendre.
Ajoutez une fonction de rappel (AJAX étant asynchrone, votre retour est généré avant que des données ne soient renvoyées):
function returnData(param) { console.log(param); }
Ajoutez maintenant cette fonction de rappel en tant que paramètre à votre fonction AJAX et lançons-la:
function getCartProduct(id, callback){ $.post('core/ajax/getCartProduct.ajax.php', {id: parseInt(id)}, function(data){ callback(data); }); } getCartProduct(id, returnData);