jquery ajax同步异步区别
jquery$.ajax()同步与异步区别简单来说就是:
1、同步执行的话,会等待后台结果返回,方法才会继续执行下一句
2、异步的话,方法不等后台返回就会继续执行下一句。
jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步。
可以设置ajax请求为同步请求么
jquery的ajax有一个ajaxSetup方法,可以通过它设置 Ajax 请求的默认值。$.ajaxSetup({ async: false, //默认为true,改为false 则为同步请求 url: "XXXXXXX", type: "POST", success:function(result){ $("div").html(result); }});//然后执行ajax$.ajax();也可以直接设置$.ajax({url:"XXXX",async:false,........});jquery是默认异步的,可以添加一个参数:async: false$.ajax({ async:false, url: '…………', type: 'post' data: {…………}, dataType:'json', success: function(){…………}, failure: function(){…………}, error: function(){…………} });
js:一个函数怎么获得另一个函数的返回值呢
//此种为异步,还不等ajax赋完值,函数就return了。
function getCaseInfoForMap(){
var formInfo=$("#firstForm").serialize();
var dd;
$.ajax({
type:"post",
url:"<%=path%>/webmodule/constructionDecision/WjInfo/getCaseInfoForMap.do?timeType="+timeType+"&gridNumber="+gridNumber,
dataType:"json",
data:formInfo,
success:function(data){
dd=data;
}
});
return dd;//
}
//测试
function test(){
var data=getCaseInfoForMap();
alert(data[0].caseId);
}
//--------------------------------------------------------------------------------------------------------------------------------------------//
//此种为同步async:false,ajax执行不完不会return
function getCaseInfoForMap(){
var formInfo=$("#firstForm").serialize();
var dd="";
$.ajax({
type:"post",
url:"<%=path%>/webmodule/constructionDecision/WjInfo/getCommCaseInfoCount.do?timeType="+timeType+"&gridNumber=110105217",
dataType:"json",
data:formInfo,
async:false,
success:function(data){
dd=data;
}
});
return dd;
}
//测试
function test(){
var data=getCaseInfoForMap();
alert(data);
}



还没有评论,来说两句吧...