使用ajax的post同步执行(实现方法)

一般我们使用的ajax请求时,都是异步的在结果运行以后,在方法外是得不到参数的,但是使用同步执行的时候是可以返回data的。

ajaxSettings.async参数进行设置,默强调内容认情况下是true,即异步,同步时在方法前设置: 

$.ajaxSettings.async = false;此时在方法执行完,能return出相应的data。

代码块

/** * 得到列表 */
function flowAtoms(){  
//请求接口 
  var listUrl = getServerUrl('XXXXXXX'); 
  var param = {};
  $.ajaxSettings.async = false;  
   newlist="";  
  $.post(listUrl,param, function(data){   
    // 返回的Json转换    
     var data_json = $.parseJSON(data);  
    if(data_json.status==200){       
      // 初始化操作选项      
      var data=data_json.data;      
      var funcHtml="";     
      $.each(data,function(i,v){        
        funcHtml+=v.name;  
       })     
      newlist = funcHtml;     
    } else {        
      alert(data_json.message);    
    }  
  }) 
  //返回全局变量newlist
  return newlist;
}

相关推荐