如何在ajax调用之外检索变量值



我有一个ajax函数调用,它有一个值为5的变量sum。但是,当我尝试在ajax函数调用之外访问这个变量时,得到的值为null。有什么方法可以访问ajax函数之外的值吗?

         $.ajax({
           type: "POST",
           url: "Service.asmx/chart",
           data: appid,
           success: function(data) {
           var mydata = 5;    
                }
            });
           alert(mydata);

试试这个:

    $.ajax({
       type: "POST",
       url: "Service.asmx/chart",
       data: appid,
       success: function(data) {
       doGetMyData(data);
            }
        });
       function doGetMyData(data){
       alert(data);

}

AJAX中的第一个"A"表示异步,因此您的代码在请求完成之前运行警报。为了实现您想要的目标,您可以尝试使您的请求同步,并在查询中添加async:false选项

$.ajax({
   type: "POST",
   url: "Service.asmx/chart",
   data: appid,
   async:false,
   success: function(data) {
   doGetMyData(data);
        }
    });
   function doGetMyData(data){
      alert(data);
   }

坏消息是同步请求会锁定你的浏览器,直到它完成,这是一个很好的做法来避免这种情况。

最新更新