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

posted @ 2017-10-10 14:10  R_Oasis  阅读(3405)  评论(0编辑  收藏  举报