Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $.post之后的变量无法识别_Javascript_Jquery_Post - Fatal编程技术网

Javascript $.post之后的变量无法识别

Javascript $.post之后的变量无法识别,javascript,jquery,post,Javascript,Jquery,Post,当我尝试在javascript中调用变量时,我遇到了一个问题。例如: listItem = "Hello"; listItem +=" Everyone"; 然后我会这样做: $.post('example.php',{}, function(data){ listItem += data; }); alert(listItem); 输出结果是:大家好,但我想连接变量数据。我怎么能做到 提前感谢。jQuery是异步的,因此在调用$之后立即调用警报。post调用

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

listItem = "Hello";
listItem +=" Everyone";
然后我会这样做:

 $.post('example.php',{}, function(data){
          listItem += data;
    });
 alert(listItem);
输出结果是:大家好,但我想连接变量数据。我怎么能做到

提前感谢。

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


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

如果使用此模式而不是回调,则更有可能看到发生了什么:

$.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.");
您的弹出窗口将按以下顺序显示:

  • [帖子刚刚发送。]
  • [服务器刚刚回复帖子。]
  • [列表项的内容]

    • 代码的运行顺序如下

      // 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;