解决 代码 不按顺序执行的问题

背景:
程序三大结构
顺序,循环,选择
正常情况下程序执行不会违背这三种基本结构

错误代码:

DelSelect:function (){
							var i=0;
							var nid=0;
							$("input[name='nid[]']").each(function(){
								if($(this).is(":checked")==true){
									nid=$(this).val();
									$.post("/news/piliangdelete",{nid:nid},function(data){
										if(data==true){
											alert(data)
											i++;
											alert("此次操作共删除成功"+i+"个")
										}
											
									});
								}
							})
							alert("此次操作共删除成功"+i+"个")
					}

输出结果先为0然后依次输出1,2…
错误原因:异步

简单解释同步异步
执行某方法若是同步则执行完此方法再继续执行剩下的代码
异步则是在继续执行剩下代码的前提下执行此方法

解决办法:进行同步

解决后代码:

DelSelect:function (){
					$.ajaxSettings.async = false;//将ajax设置为同步
							var i=0;
							var nid=0;
							$("input[name='nid[]']").each(function(){
								if($(this).is(":checked")==true){
									nid=$(this).val();
									$.post("/news/piliangdelete",{nid:nid},function(data){
										if(data==true){
											alert(data)
											i++;
											//alert("此次操作共删除成功"+i+"个")
										}
											
									});
								}
							})
							alert("此次操作共删除成功"+i+"个")
					$.ajaxSettings.async = true;//将ajax设置为异步
					}

你可能感兴趣的:(解决 代码 不按顺序执行的问题)