我有一个名为getCartProducts()
的Javascript函数,它使用$.post()
通过AJAX获取JSON数组,返回一个值。我想让我的函数返回该值,但我不知道该怎么做。
这是我的功能:
function getCartProduct(id){
$.post('core/ajax/getCartProduct.ajax.php', {id: parseInt(id)}, function(data){
var result = data;
});
return result;
}
我知道这不会起作用,因为te变量结果仅在$.post()
函数中有效,但我不知道如何直接得到它。
答案 0 :(得分:5)
添加一个回调函数(AJAX是异步的,所以在有任何数据要返回之前你的返回被命中):
function returnData(param) {
console.log(param);
}
现在将该回调函数作为参数添加到AJAX函数中,然后运行它:
function getCartProduct(id, callback){
$.post('core/ajax/getCartProduct.ajax.php', {id: parseInt(id)}, function(data){
callback(data);
});
}
getCartProduct(id, returnData);