AJAX获取数据成功后的返回数据如何声明成全局变量

var result="";
$.ajax({
    type: "post",
    url: "../reportRule/main.do?method=selectReportToAdd",
    data:{},
    success: function(msg){
        result = msg;
          alert(result );\有数据
    }
});
alert(result)\无数据
 

原因:

  ajax是异步请求,即javascript是非阻塞运行的,在$.ajax还没运行完alert命名可能就执行了,当然第二个alert的时候是没有数据的

解决办法:
  将ajax设置为同步请求,设置$.ajax的async属性为false

原文地址:https://www.cnblogs.com/renpei/p/7645317.html