3

我有一个 Javascript 函数getCartProducts(),它通过 AJAX 获取一个 JSON 数组,使用$.post()它返回一个值。我想让我的函数返回那个值,但我不知道该怎么做。

这是我的功能:

function getCartProduct(id){
  $.post('core/ajax/getCartProduct.ajax.php', {id: parseInt(id)}, function(data){
    var result = data;
  });
  return result;
}

我知道这行不通,因为变量结果只在$.post()函数中有效,但我不知道如何弄清楚。

4

1 回答 1

12

添加一个回调函数(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);
于 2013-06-30T20:12:45.450 回答