js在ajax提交时不会等待返回值

function validataUnFinish(){
				var t = "";
				var t1 = "";
				
				$(":checkbox[name='roomIndexId'][checked]").each(function(i){
						t = t+$(this).attr("value")+",";
					});
				if(t!=""){
						alert("进入ajax内部");
						$.post("ajaxValidateUnFinish",{"indexRoomIndexs":t},function(data){
							if(data!=null&&""!=data){
								t1 = data;
								alert(data+"????"+t1);
							}
						});
					}
					alert("ccc");
				if(t1!="")
					return false;
				return true;
			}

 如代码所示,我的目的是找出多选按钮,然后活得里面的值,传到后台。后台根据传过来的值来判断是否符合条件并返回结果。开始以为js是从上到下执行,所以会先执行回调方法。然后在执行alert("ccc")。后来尝试发现总是先alert("ccc"),然后在不定时alert回调函数返回的数据。想了想,其实js是单线程的,在执行ajax提交后它并不会保证接受到返回值才执行下面的方法体,因为你返回值是不确定何时返回的。所以执行变相解决问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值