0
$.post("general.php", {/* some values */}, function(data){var id = data;});
alert(id);

问题是,警报是空的。有人知道为什么吗?以及如何解决?谢谢。

4

1 回答 1

6

有2个问题:

  • 一种是 ajax 是异步的,并且警报在 ajax 回调之前执行,其中id正在设置变量

  • 第二个是变量不是全局的,它只在回调范围内可见

因此,我建议您声明变量 global(如果您需要它以供以后使用):

var id;// in the global scope

或者

window.id = '';

您可能应该执行回调中的逻辑:

$.post("general.php", {/* some values */}, function(data){ 
    window.id = data;
    alert(data);
});
于 2012-05-28T17:04:21.867 回答