jquery $.post ajax 同步和异步请求

说明:$.ajax和$.post默认是异步请求,也就是说请求发出去后,不管请求的结果是否返回,都会执行后面的代码。所以,想要把返回结果赋值给js变量,就必须采用同步请求。$.ajax请求,加上属性 async:false即可。列如下面:return cellvalue = investWayDescription;改为同步就可以赋值成功,否则就是空字符串。

function gainInvestWay(cellvalue,options,rowObject){
    var id = rowObject.id;
    var investWayDescription = "";
     $.ajax({
      url: '<%=basePath%>investmentInvestor!gainInvestWay.action?id='+id,
      type: 'POST',
      dataType: 'json',
      async:false,
      success: function(data){
       investWayDescription = data.result.value;
       }
      });
     return cellvalue = investWayDescription;
   } 

而关于$.post如何修改其为同步请求,还未找到。

function gainInvestWay(cellvalue,options,rowObject){
    var id = rowObject.id;
    var investWayDescription = "";
     $.post("<%=basePath%>investmentInvestor!gainInvestWay.action?id="+id,function(data){
             if(data.result.success){
              investWayDescription = data.result.value;
            }
     return cellvalue = investWayDescription;
   }

相关推荐