ajax同步和异步+关于button的小坑

今天在做一个网页增加功能的时候通过点击button按钮绑定执行增加操作的事件然后再跳转到别的页面

关键代码:

	function addbook() {
						if (btnver()) {
							var bname = $("#bname").val();
							var bauthor = $("#bauthor").val();
							var buydate = $("#buydate").val();
							var btype = $("#btype").val();
							
							$.getJSON("DoBook", "opr=addbook&bname=" + bname
									+ "&bauthor=" + bauthor + "&buydate="
									+ buydate + "&btype=" + btype, callback);

						}
						function callback(data) {
							if (data.addflag == "true") {
								alert("添加成功!");
								window.location.href = "/BookManage/bookmanage/main.jsp";
							} else {
								alert("添加失败!");
							}
						}
					}

可是提示框提示添加成功后却不跳转到指定的页面

原来是button 按钮没有设置 type="button"  所以 button按钮默认 为submit  所以点击button会跳转的

form表单 action 指定的 路径  而此时又绑定了事件让它跳转到另一个页面 所以有冲突,不会跳转   

解决方法: 把 button 的 action 删除  在button 添加 type="button" 即可

之前以为是getjson异步操作导致的,后来发现是乌龙一场查了很多关于ajax同步和异步资料,学习到了很多知识

感谢bug  !

ajax异步和同步转自:https://www.cnblogs.com/cai170221/p/7065096.html

猜你喜欢

转载自blog.csdn.net/Ein_Blatt/article/details/84988499