【发布时间】:2012-05-28 17:00:46
【问题描述】:
$.post("general.php", {/* some values */}, function(data){var id = data;});
alert(id);
问题是,警报是空的。有人知道为什么吗?以及如何解决?谢谢。
【问题讨论】:
标签: jquery ajax function post var
$.post("general.php", {/* some values */}, function(data){var id = data;});
alert(id);
问题是,警报是空的。有人知道为什么吗?以及如何解决?谢谢。
【问题讨论】:
标签: jquery ajax function post var
有两个问题:
一个是ajax是异步的,alert在ajax回调之前执行,这里设置了id变量
第二个是变量不是全局的,只在回调范围内可见
所以,我建议你将变量声明为 global(如果你需要它以供以后使用):
var id;// in the global scope
或
window.id = '';
你可能应该执行回调中的逻辑:
$.post("general.php", {/* some values */}, function(data){
window.id = data;
alert(data);
});
【讨论】: