ajax同步和非同步+關於button的小坑
阿新 • • 發佈:2018-12-16
今天在做一個網頁增加功能的時候通過點選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