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 @ 2016-09-22 16:48  一人的代码  阅读(11074)  评论(1编辑  收藏  举报