0

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

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

然后我这样做:

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

输出是:大家好,但我想与可变数据连接。我怎么能做到这一点?

提前致谢。

4

3 回答 3

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 ]
于 2013-02-09T17:04:40.787 回答
0

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

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

于 2013-02-09T16:35:19.410 回答
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;
于 2013-02-09T17:10:43.150 回答