jQuery global variabiles $.post();


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

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

有 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);
});

最新更新