ajax請求返回的數(shù)據(jù)看不到回調(diào)函數(shù)沒有執(zhí)行也沒報錯
更新時間:2014年01月23日 15:47:28 作者:
ajax請求返回的數(shù)據(jù)看不到回調(diào)函數(shù)沒有執(zhí)行,哪里都沒有報錯,有類似情況的朋友可以參考下本文
項(xiàng)目用的是ssh,使用jquery的$.post訪問struts2的Action,哪里都沒有報錯,可就是沒有結(jié)果。
現(xiàn)在$.post要返回保存著權(quán)限的集合Collection<Privilege>,權(quán)限類Privilege和用戶類User相互關(guān)聯(lián),也就是Privilege里使用set集合保存著擁有這個權(quán)限的用戶Set<User>,用戶User里也使用set集合保存著用戶有的權(quán)限Set<Privilege>。數(shù)據(jù)都到action里了,但是回調(diào)函數(shù)沒有執(zhí)行,并且使用瀏覽器調(diào)試也沒看到返回的數(shù)據(jù),最后找了半天,原因如下:
jquery在解析返回的Collection<Privilege>集合時,看到里面有一個Set<User>,就會去得到集合中的數(shù)據(jù),但是Collection<Privilege>是service里的一個方法返回的,而這個時候spring的事務(wù)已經(jīng)結(jié)束,也就不會查到Set<User>中的數(shù)據(jù)。jquery解析空的集合就會出錯,所以得不到數(shù)據(jù)。
解決辦法:在Privilege里的getUser()方法加上這個注解@JSON(serialize=false),這樣jquery在解析的時候就會忽略這個集合中的數(shù)據(jù)。當(dāng)然,如果數(shù)據(jù)要用到,那就要在service中把這些數(shù)據(jù)先查到,放到集合中。
現(xiàn)在$.post要返回保存著權(quán)限的集合Collection<Privilege>,權(quán)限類Privilege和用戶類User相互關(guān)聯(lián),也就是Privilege里使用set集合保存著擁有這個權(quán)限的用戶Set<User>,用戶User里也使用set集合保存著用戶有的權(quán)限Set<Privilege>。數(shù)據(jù)都到action里了,但是回調(diào)函數(shù)沒有執(zhí)行,并且使用瀏覽器調(diào)試也沒看到返回的數(shù)據(jù),最后找了半天,原因如下:
jquery在解析返回的Collection<Privilege>集合時,看到里面有一個Set<User>,就會去得到集合中的數(shù)據(jù),但是Collection<Privilege>是service里的一個方法返回的,而這個時候spring的事務(wù)已經(jīng)結(jié)束,也就不會查到Set<User>中的數(shù)據(jù)。jquery解析空的集合就會出錯,所以得不到數(shù)據(jù)。
解決辦法:在Privilege里的getUser()方法加上這個注解@JSON(serialize=false),這樣jquery在解析的時候就會忽略這個集合中的數(shù)據(jù)。當(dāng)然,如果數(shù)據(jù)要用到,那就要在service中把這些數(shù)據(jù)先查到,放到集合中。
您可能感興趣的文章:
- jQuery Ajax Post 回調(diào)函數(shù)不執(zhí)行問題的解決方法
- Javascript基于AJAX回調(diào)函數(shù)傳遞參數(shù)實(shí)例分析
- ajax回調(diào)函數(shù)中使用$(this)取不到對象的解決方法
- 解決ajax回調(diào)函數(shù)返回的字符串亂碼問題
- ajax異步回調(diào)函數(shù)中給外部變量賦值的問題探討
- ajax JSONP請求處理回調(diào)函數(shù)jsonpCallback區(qū)分大小寫
- jQuery Tips 為AJAX回調(diào)函數(shù)傳遞額外參數(shù)的方法
- ajax回調(diào)函數(shù)參數(shù)傳遞正確方法
- JQuery中使用Ajax賦值給全局變量失敗異常的解決方法
- ajax給全局變量賦值問題解決示例
- JQuery中使用Ajax賦值給全局變量異常的解決方法
- jquery ajax修改全局變量示例代碼
- Ajax獲取回調(diào)函數(shù)無法賦值給全局變量的問題
相關(guān)文章
利用AJAX實(shí)現(xiàn)無刷新數(shù)據(jù)分頁
這篇文章主要介紹了利用AJAX實(shí)現(xiàn)數(shù)據(jù)分頁的相關(guān)資料,如何利用AJAX無刷新直接從服務(wù)器獲取數(shù)據(jù)分頁,感興趣的小伙伴們可以參考一下2016-04-04
AJAX POST數(shù)據(jù)中有特殊符號(轉(zhuǎn)義字符)導(dǎo)致數(shù)據(jù)丟失的解決方法
這篇文章主要介紹了Ajax發(fā)送轉(zhuǎn)義字符 、>、<、"接收數(shù)據(jù)不全問題,需要的朋友可以參考下2023-06-06
ajax實(shí)現(xiàn)用戶名校驗(yàn)的傳統(tǒng)和jquery的$.post方式(實(shí)例講解)
下面小編就為大家分享一篇ajax實(shí)現(xiàn)用戶名校驗(yàn)的傳統(tǒng)和jquery的$.post方式的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助2017-12-12
重寫 ajax 實(shí)現(xiàn) session 超時跳轉(zhuǎn)到登錄頁面實(shí)例代碼
這篇文章主要介紹了重寫 ajax 實(shí)現(xiàn) session 超時跳轉(zhuǎn)到登錄頁面實(shí)例代碼,需要的朋友可以參考下2017-05-05
ajax+php 谷歌搜索框自動填充功能 實(shí)例代碼
應(yīng)用Ajax技術(shù) 結(jié)合php語言寫的簡單的類谷歌搜索框自動填充功能。2009-11-11

