ajax异步回调函数中给外部变量赋值的问题探讨

复制代码 代码如下:

  <!doctype html>

  <head>

  <meta charset="utf-8">

  </head>

  <body>

  <script src="http://localhost/UIBMSPHPProj/public/js/jquery-1.8.2.min.js"></script>

  <script>

  $(function(){

  var str = "aaa";

  $.post("http://localhost/UIBMSPHPProj/index.php/Index/abc",{},function(data){

  //data = "bbb";

  console.log(str);//aaa

  str = data;

  console.log(str);//"bbb"

  });

  console.log(str);//"aaa"

  });

  </script>

  </body>

  </html>

  ajax回调函数异步的原因导致了在外部直接获取str的值时还是“aaa”,需要用“bbb”时,可以将用"bbb"的函数放入回调函数中调用。