ajax设置async来验证用户名的存在
添加用户时,需要判断这个手机号是否存在。最初的想法很简单。在文本框上设置一个onmouseout事件在IE下有很好的体现,但是在Google上就不太好了
好吧,改变你的想法,在提交表格时检查一下:
//检查手机号码是否有功能check repeat () {var id=' $ {item。id } ';var mobile=$('#mobile ')。val();//alert(id);if(id==null||id==''){$。AJax({ URL : '/admin/admin user/AJaxcheckharveet . shtml?Mobile=' mobile,type:' get ',datatype:' text ',cache: false,async3360 false,超时: 5000,错误: function () {alert('数据采集失败!');},success:函数(msg){if('1'==msg){$('#spMobile ')。attr('style ',' display:block' color:red');$('#hiddenMobile ')。attr('value ',' true ');}else{$('#spMobile ')。attr('style ',' display:none');$('#hiddenMobile ')。attr('value ',' false ');}}});}返回true}函数save(){ if(CheckSimg())CheckRepeat()){ var hidden Mobile=$(' # hidden Mobile ')。val();//alert(hiddenMobile);if(hiddenMobile==' false '){ if($(' # form 1 ')。表单(' validate '){ $(' # form 1 ')。submit();}}}}然后我在这个过程中发现了一个很有意思的事情:当hiddenMobile返回false时,表单还是被提交了
啊,纠结,再想想,FK
我想了想,找了找,突然想到异步。虽然我以前没用过这个东西,但是我瞎了,加了个async:false。该死,当我再次演示时,它真的起作用了
cache:false,async:false,
好了,解决问题,再深入研究:哼,又有收获了,自己看吧
async的默认设置值为true,为异步,也就是说当ajax发送请求时,在等待服务器返回的同时,前台会继续执行ajax块后面的脚本,直到服务器返回正确的结果,也就是说此时执行两个线程,ajax块后面的一个线程发送请求,ajax块后面的脚本(另一个线程)
$.ajax({ type:'POST ',url:'Venue.aspx?act=init ',dataType:'html ',success : function(result){//function 1()(f1();F2();} failure :函数(结果){ alert(' Failed ');},} function 2();在上面的例子中,当ajax块发送请求时,它将停留在function1()并等待服务器的返回,但同时(在这个等待过程中),前台将执行function2(),也就是说,此时有两个线程,暂时分别被称为function1()和function2()。
当asyn设置为false时,ajax请求被同步,也就是说,ajax块发出请求后,他会在function1()的地方等待,而不是执行function2(),直到function1()的执行完成。
注意
同步意味着当JS代码加载到当前的AJAX中时,页面中的所有代码都将停止加载,页面将退出假死状态。这个AJAX执行后,其他代码页会继续运行,假死状态会被释放。
另一方面,当这个AJAX代码运行时,异步可以像其他代码一样运行。
jquery的Async:false,此属性
上面用ajax设置async检查用户名存在的实现方法,就是边肖分享的全部内容。希望能给大家一个参考,多支持我们。
版权声明:ajax设置async来验证用户名的存在是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。