ajax同期と非同期+buttonの小さなピットについて

1271 ワード

今日はウェブページの追加機能をしている間に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同期と非同期に関する多くの資料を調べ、多くの知識を学んだことに気づいた.
ありがとうございます!
ajax非同期および同期転送:https://www.cnblogs.com/cai170221/p/7065096.html