ajax請(qǐng)求返回的數(shù)據(jù)看不到回調(diào)函數(shù)沒有執(zhí)行也沒報(bào)錯(cuò)
來源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 22:52:19
ajax請(qǐng)求返回的數(shù)據(jù)看不到回調(diào)函數(shù)沒有執(zhí)行也沒報(bào)錯(cuò)
ajax請(qǐng)求返回的數(shù)據(jù)看不到回調(diào)函數(shù)沒有執(zhí)行也沒報(bào)錯(cuò):項(xiàng)目用的是ssh,使用jquery的$.post訪問struts2的Action,哪里都沒有報(bào)錯(cuò),可就是沒有結(jié)果。 現(xiàn)在$.post要返回保存著權(quán)限的集合Collection<Privilege>,權(quán)限類Privilege和用戶類User相互關(guān)聯(lián),也就是Privilege里使用set集合保存著擁有
導(dǎo)讀ajax請(qǐng)求返回的數(shù)據(jù)看不到回調(diào)函數(shù)沒有執(zhí)行也沒報(bào)錯(cuò):項(xiàng)目用的是ssh,使用jquery的$.post訪問struts2的Action,哪里都沒有報(bào)錯(cuò),可就是沒有結(jié)果。 現(xiàn)在$.post要返回保存著權(quán)限的集合Collection<Privilege>,權(quán)限類Privilege和用戶類User相互關(guān)聯(lián),也就是Privilege里使用set集合保存著擁有

項(xiàng)目用的是ssh,使用jquery的$.post訪問struts2的Action,哪里都沒有報(bào)錯(cuò),可就是沒有結(jié)果。
現(xiàn)在$.post要返回保存著權(quán)限的集合Collection<Privilege>,權(quán)限類Privilege和用戶類User相互關(guān)聯(lián),也就是Privilege里使用set集合保存著擁有這個(gè)權(quán)限的用戶Set<User>,用戶User里也使用set集合保存著用戶有的權(quán)限Set<Privilege>。數(shù)據(jù)都到action里了,但是回調(diào)函數(shù)沒有執(zhí)行,并且使用瀏覽器調(diào)試也沒看到返回的數(shù)據(jù),最后找了半天,原因如下:
jquery在解析返回的Collection<Privilege>集合時(shí),看到里面有一個(gè)Set<User>,就會(huì)去得到集合中的數(shù)據(jù),但是Collection<Privilege>是service里的一個(gè)方法返回的,而這個(gè)時(shí)候spring的事務(wù)已經(jīng)結(jié)束,也就不會(huì)查到Set<User>中的數(shù)據(jù)。jquery解析空的集合就會(huì)出錯(cuò),所以得不到數(shù)據(jù)。
解決辦法:在Privilege里的getUser()方法加上這個(gè)注解@JSON(serialize=false),這樣jquery在解析的時(shí)候就會(huì)忽略這個(gè)集合中的數(shù)據(jù)。當(dāng)然,如果數(shù)據(jù)要用到,那就要在service中把這些數(shù)據(jù)先查到,放到集合中。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
ajax請(qǐng)求返回的數(shù)據(jù)看不到回調(diào)函數(shù)沒有執(zhí)行也沒報(bào)錯(cuò)
ajax請(qǐng)求返回的數(shù)據(jù)看不到回調(diào)函數(shù)沒有執(zhí)行也沒報(bào)錯(cuò):項(xiàng)目用的是ssh,使用jquery的$.post訪問struts2的Action,哪里都沒有報(bào)錯(cuò),可就是沒有結(jié)果。 現(xiàn)在$.post要返回保存著權(quán)限的集合Collection<Privilege>,權(quán)限類Privilege和用戶類User相互關(guān)聯(lián),也就是Privilege里使用set集合保存著擁有