我很难理解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
变量。