我很难理解javascript回调应该如何工作。我正在使用以下代码从MySQL数据库获取值:

  $.post("getResults.php", { x: 100, y: 200},
   function(arrayOfValues){
      alert( arrayOfValues[2] )
   }, 'json');
alert()返回正确的值,并且运行正常。但是,我不知道如何将arrayData[2]中的值传递或返回给程序的其他部分(并且我所做的尝试没有用)。

我已经阅读了jquery help和许多SO问题和解答,但我不了解回调的工作原理。

在这种情况下,我希望我的主程序可以访问arrayOfValues [2]。

最佳答案

var foo;

$.post("getResults.php", { x: 100, y: 200 }, function(data) {
    foo = data;
}, 'json');

响应数据将存储在foo变量中。但是请注意,这是一个异步回调函数,它在HTTP响应到达时被调用。重要的是要了解,在HTTP响应到达并且回调函数完成之前,您不能使用foo变量

10-07 19:48
查看更多