qq_38930217 2021-01-27 21:56 采纳率: 25%
浏览 85
已结题

关于绑定change事件后ajax访问问题

 window.onload = function(){
			var fdSysUnitId =  $("input[name=fdSysUnitId]");
			fdSysUnitId.change(function(){
				 var sysUnitId = fdSysUnitId.val();
				 var url ="xxx/kmSuperviseMain.do?method=findLeaders";
				 console.log(sysUnitId);
				 if(sysUnitId!=''){
					  alert("有值");
					  $.ajax({
					         url:url,
					         type:'POST',
					         dataType:'json',
					         async:false,
					         data:{'sysUnitId':sysUnitId},
					         success:function(data){
					        	 alert("请求成功");
					           
					            
					         },
					         error:function(req){
						           alert("请求失败");
						     }
					   }); 
				 }else{
					  alert("没值");
				 }
			}); 
		} 

给某个input绑定change事件后,每次改变值都需要去后台调用方法获取数据,但上面的代码每次执行时都会跑到error函数,取到req.status是0,开发者工具network没有请求,后台的方法也没执行,如果把ajax函数中的async:false改为async:true就可以正常跑到后台方法,请各位大佬指教

  • 写回答

1条回答 默认 最新

  • huofeige 2021-01-28 09:00
    关注

    async. 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。

    async 设置为 false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料