回呼的JSON資料格式問題,導致回呼函數一直無法執行;jQuery Ajax Post 回呼函數不執行的解決方法:JSON資料都要用雙引號,使用轉義字元轉義String,程式碼為【 {\"hello\":\"world\"}】。
本教學操作環境:windows7系統、jquery3.2.1版本,DELL G3電腦,此方法適用於所有品牌電腦。
推薦:jquery影片教學
#jQuery Ajax Post 回呼函數不執行的解決方案:
1、前台程式碼
$.post('${pageContext.request.contextPath}/user_deleteUser',{uid:row.uid},function(result){ if (result.errorMsg){ $.messager.show({ title: 'Error', msg: result.errorMsg }); } else { $('#dg').datagrid('reload'); } },'json');
2、後台程式碼
public String deleteUser() { int count = userDao.deleteUser(model.getUid()); try { PrintWriter writer = response.getWriter(); if(count<=0) writer.write("{'errorMsg':'删除失败'}"); else writer.write("{'success':'删除成功'}"); } catch (IOException e) { e.printStackTrace(); } return null; }
很明顯前台程式碼並沒有什麼問題,後台程式碼在邏輯上貌似也沒問題,最後百度得知回呼的JSON資料格式問題,導致回呼函數一直無法執行,原來JSON資料都要用雙引號!
我的:{'hello':'world'} 标准:{"hello":"world"}
由於String不能雙引號巢狀使用所以我們用轉義符即可
{\"hello\":\"world\"}
大功告成!
相關免費學習推薦:js影片教學
以上是jQuery Ajax Post 回呼函數不執行怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!