Jquery ajax 中提交数据可以用同步与异步
1、同步与异步之间究竟有什么不同呢?、
2、在什么情况下使用呢?
同步:提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
一、我的理解:
1、一心一意:当前只能做一件事,其他事情必须等当前的事情完成,才能继续后面的事情。
2、三心二意:同时可以做多件事情:左手按着空格键,右手可以不断的击打鼠标,眼睛还要同时看着屏幕,很辛苦。
二、请看下面这段脚本:
function ValidateClick()
{
{
var areaNo=$("#<%=drpList.ClientID %>").val();
if(areaNo) { alert("请选择"); return false; }
$.ajax({
cache:"False",
type:"POST",
cache:"False",
type:"POST",
(A)//async: false, 【(A)】
http://m28.mail.qq.com/cgi-bin/read_note?noteid=_85&opr=del&encodetype=js&sid=y04qoaAEQwqFbXsw&t=note_edit_show&viewmode=&s=&from=&noprevnext=1&catid=1#",
data:$("#form1").serialize(),
success:function(o)
{
if(o=="ERROR") { alert("输入错误!"); return false;}
else if(o=="OK")
{ alert("正确!");return true; }
else
{ alert("其他错误!"); return false;}
},
error:function(xhr, ajaxOptions, thrownError)
{ alert("网络异常,稍后重试!"); return false; }
});
http://m28.mail.qq.com/cgi-bin/read_note?noteid=_85&opr=del&encodetype=js&sid=y04qoaAEQwqFbXsw&t=note_edit_show&viewmode=&s=&from=&noprevnext=1&catid=1#",
data:$("#form1").serialize(),
success:function(o)
{
if(o=="ERROR") { alert("输入错误!"); return false;}
else if(o=="OK")
{ alert("正确!");return true; }
else
{ alert("其他错误!"); return false;}
},
error:function(xhr, ajaxOptions, thrownError)
{ alert("网络异常,稍后重试!"); return false; }
});
// 【(B) 】 //alert("这里");return true;
}
}
在(A)处:默认未true,表示使用异步进行传输,
当async: true时:我们把数据用POST提交数据到url页面后,会同时执行【(B) 】处的方法或者 函数等,不管(A)处是否已经返回结果,(B)已经执行了,当(A)中返回结果时,就根据指定的if来弹出提示,
当async: false时:这个时候就必须等待(A)处返回结果,再执行if判断语句,判断完成之后,在接着执行(B)处的函数
三、举个例子
【这里我们要除掉(B)出的代码】
我们在页面上有一个服务器的button按钮,
要求:根据p
浙公网安备 33010602011771号