首頁  >  文章  >  web前端  >  jQuery Ajax Post 回呼函數不執行怎麼辦

jQuery Ajax Post 回呼函數不執行怎麼辦

coldplay.xixi
coldplay.xixi原創
2021-01-20 10:49:172851瀏覽

回呼的JSON資料格式問題,導致回呼函數一直無法執行;jQuery Ajax Post 回呼函數不執行的解決方法:JSON資料都要用雙引號,使用轉義字元轉義String,程式碼為【 {\"hello\":\"world\"}】。

jQuery Ajax Post 回呼函數不執行怎麼辦

本教學操作環境: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("{&#39;errorMsg&#39;:&#39;删除失败&#39;}");
            else writer.write("{&#39;success&#39;:&#39;删除成功&#39;}");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

很明顯前台程式碼並沒有什麼問題,後台程式碼在邏輯上貌似也沒問題,最後百度得知回呼的JSON資料格式問題,導致回呼函數一直無法執行,原來JSON資料都要用雙引號!

我的:{&#39;hello&#39;:&#39;world&#39;}
标准:{"hello":"world"}

由於String不能雙引號巢狀使用所以我們用轉義符即可

{\"hello\":\"world\"}

大功告成!

相關免費學習推薦:js影片教學

以上是jQuery Ajax Post 回呼函數不執行怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn