$ .post后无法识别的变量

时间:2013-02-09 16:33:10

标签: javascript jquery post

当我尝试在javascript中调用变量时,我遇到了问题。例如:

listItem = "Hello";
listItem +=" Everyone";

然后我这样做:

 $.post('example.php',{}, function(data){
          listItem += data;
    });
 alert(listItem);

输出是:Hello Everyone,但我想与变量数据连接。我怎么能这样做?

提前致谢。

3 个答案:

答案 0 :(得分:1)

如果您使用此模式而不是回调,您将更有可能看到正在发生的事情:

$.post('example.php', {})
   .then(function(data)
   {
      //things inside this function execute after the post is done
      alert("Server has just replied to post.");
      listItem += data;
      alert(listItem);
   });
alert("Post was just sent.");

您的弹出窗口将按以下顺序显示:

  • [帖子刚刚发送。的
  • [服务器刚回复发布。的
  • [ listItem的内容]

答案 1 :(得分:0)

jQuery的$.post是异步的,因此在$.post调用之后立即调用警报将打印出原始数组。

如果您想获取数据,请在成功函数中移动警报调用,或以异步方式重构代码。

答案 2 :(得分:0)

运行代码的顺序是这样的;

// 1.
listItem = "Hello";
listItem += " Everyone";

// 2.
alert(listItem);

// 3.
$.post('example.php', {}, /* your callback here */);

// 4. wait for server to respond

// 5. server responds

// 6. your call back is run
listItem += data;