jQuery全局变量$ .post();

时间:2012-05-28 17:00:47

标签: jquery ajax function post var

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

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

1 个答案:

答案 0 :(得分:6)

有两个问题:

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

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

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

var id;// in the global scope

window.id = '';

你应该在回调中执行逻辑:

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