jquery怎么退出执行操作

liujianliang 2013-06-05 02:12:23
$('#btnSubmit').click(function(){
$.get('get.php',function(data){
if(data==0){
return false;
}
$.post('member.php',function(data){
if(data==0){
return false;
}
});
});
}
当第一个return false时,还会继续走到$.post这一步,怎么才可以在get不满足条件时就退出?
...全文
382 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2013-06-06
  • 打赏
  • 举报
回复
$.get('get.php',function(data){ if(data!=0){ $.post('member.php',function(data){ if(data==0){ return false; }} }else{ return false; }
liujianliang 2013-06-05
  • 打赏
  • 举报
回复
引用 16 楼 asimplefire 的回复:
$.get,$.post都是异步执行的啊,所以不会等第一个ajax执行完后再执行第二个ajax,所以只能嵌套,或者将ajax设置成同步的。
$.ajaxSetup({async:false});改成同步的也不行
asimplefire 2013-06-05
  • 打赏
  • 举报
回复
$.get,$.post都是异步执行的啊,所以不会等第一个ajax执行完后再执行第二个ajax,所以只能嵌套,或者将ajax设置成同步的。
liujianliang 2013-06-05
  • 打赏
  • 举报
回复
引用 13 楼 weilimicrver 的回复:
干嘛那么纠结呢?直接


$('#btnSubmit').click(function(){
$.get('get.php',function(data){
if(data!=0)
$.post('member.php',function(data){
 if(data==0){
return false;
}
});
});
}
不就得了?
多几个验证那不得n个嵌套?
liujianliang 2013-06-05
  • 打赏
  • 举报
回复
引用 10 楼 showbo 的回复:
那就是一个匿名的回调函数,函数return了还能继续执行下面的js语句只能说你的浏览器太强大了。。
用的是火狐21
JavaScript_R 2013-06-05
  • 打赏
  • 举报
回复
干嘛那么纠结呢?直接


$('#btnSubmit').click(function(){
$.get('get.php',function(data){
if(data!=0)
$.post('member.php',function(data){
 if(data==0){
return false;
}
});
});
}
不就得了?
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js'></script>
</head>

<body>
<div id='divId'>sfs</div>
<script type='text/javascript'>
$('#divId').click(function(){
	    (function(data){
			if(data==0){
			alert(data==0)////////////肯定没有执行这句
			return false;
			}
			alert('l');
			$.post('member.php',function(data){
				if(data==0){
				    return false;
				}
			});
	})(0);
}); 
</script>
</body>
</html>
应该没返回0吧,我测试了下,return可以,你把if(data==0)变成if(true)试试
路伊阑珊 2013-06-05
  • 打赏
  • 举报
回复
这样吧 你也不用return了 data不等于0的时候执行后面的代码就可以了
  • 打赏
  • 举报
回复
那就是一个匿名的回调函数,函数return了还能继续执行下面的js语句只能说你的浏览器太强大了。。
  • 打赏
  • 举报
回复
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
    $.get('1.html', function (data) {
        if (data == 0) {
            alert(data == 0)
            return false;
        }

        alert('other');
    });
  
</script>
1.html内容就0,根本没有执行alert('other');
hellNo 2013-06-05
  • 打赏
  • 举报
回复
刚本地测试,不管return false 还是return 都是直接蹦到函数最下面,至于为什么你还会执行$.post 。。。。很诡异,我反正是直接蹦出去了。。。
路伊阑珊 2013-06-05
  • 打赏
  • 举报
回复
直接return
liujianliang 2013-06-05
  • 打赏
  • 举报
回复
引用 4 楼 veryhunger 的回复:
data == "0"试试
这个条件已经满足进入内部了,不是这个原因
liujianliang 2013-06-05
  • 打赏
  • 举报
回复
引用 3 楼 imtns59521 的回复:
别return false ,直接return ,也不行?
if($('#verify').val()==''){ alert('验证码不能为空'); return false; } //验证码 $.get('index.php?action=member&func=checkVerify&verifyCode='+$('#verify').val(),function(data){ if(data==0){ alert('验证码错误'); return false; } },'text'); 上面的return false就可退出,下面的就不行,return了还继续执行,跟jquery有关么,也没见报js错误
  • 打赏
  • 举报
回复
data == "0"试试
hellNo 2013-06-05
  • 打赏
  • 举报
回复
别return false ,直接return ,也不行?
liujianliang 2013-06-05
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
你确认return 了??return了不会执行下面的语句的。 $('#btnSubmit').click(function(){ $.get('get.php',function(data){ if(data==0){ alert(data==0)////////////肯定没有执行这句 return false; } $.post('member.php',function(data){ if(data==0){ return false; } }); }); }
肯定有的,弹出框都提示有数据,说明执行到里面了jquery1.71
  • 打赏
  • 举报
回复
你确认return 了??return了不会执行下面的语句的。 $('#btnSubmit').click(function(){ $.get('get.php',function(data){ if(data==0){ alert(data==0)////////////肯定没有执行这句 return false; } $.post('member.php',function(data){ if(data==0){ return false; } }); }); }

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧