无法写入全局变量

时间:2014-03-01 19:46:41

标签: javascript function

为什么我不能写全局变量?

var postid=1;
request("get", {data:1}, function(data) {
alert(data.response[1].id); // get data
postid=2;
});
alert(postid); // get "1"

1 个答案:

答案 0 :(得分:1)

因为您的AJAX请求是 异步 ,并且在请求完成之前发生了警报,并将postid值设置为2。

您的活动顺序可能是:

  1. 设置postid = 1
  2. 开始AJAX请求。
  3. 警告postid = 1。
  4. AJAX请求完成并设置postid = 2.