Jquery在函数中从$ .post()返回值

时间:2013-06-30 20:05:37

标签: javascript jquery ajax function

我有一个名为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()函数中有效,但我不知道如何直接得到它。

1 个答案:

答案 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);