jquery中post回呼函數不執行的解決方法:JSON資料都要用雙引號,由於String不能雙引號嵌套使用所以用轉義符即可,程式碼為【{\"hello\" :\"world\"}】。
本教學操作環境:windows7系統、jquery3.2.1版本,DELL G3電腦。
推薦:jquery影片教學
jquery中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\"}
相關免費學習推薦:javascript(影片)
以上是jquery中post回呼函數不執行怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!