ajax 偶尔302,关于Ajax 中response出现302的一点见解
今天在項(xiàng)目中,遇到了一個(gè)問(wèn)題就是ajax出現(xiàn)的錯(cuò)誤,status為302。因?yàn)闆](méi)有見(jiàn)過(guò)這個(gè)狀態(tài)值,所以只能一點(diǎn)一點(diǎn)去查。
經(jīng)過(guò)查找我發(fā)現(xiàn),302狀態(tài)的解釋是:(來(lái)自百度百科)
在最新版中,名稱(chēng)已經(jīng)改成found。 總而言之他的結(jié)果就是產(chǎn)生一個(gè)重定向,是頁(yè)面重定向到其他地址。
調(diào)試了一下午也沒(méi)有結(jié)果,讓帶我的大哥來(lái)也是沒(méi)法解決后來(lái)在網(wǎng)上找打了一點(diǎn)思路:302是一個(gè)重定向的指令,所以只要讓他不要產(chǎn)生重定向指令就可以了,
沿著這條路我就這一直找,后來(lái)終于有所發(fā)現(xiàn)。我發(fā)現(xiàn)在執(zhí)行完某一個(gè)方法時(shí),context.response的status就會(huì)變成302,所以我在這個(gè)重定向狀態(tài)產(chǎn)生之后,就果斷
重置了response對(duì)象,讓他變回原來(lái)的200 OK狀態(tài),問(wèn)題就解決了。
下班以后,左思右想想搞明白,就到stackoverflow上一搜,果然就有了結(jié)果:在asp.net中,如果給某些類(lèi)設(shè)置權(quán)限,就會(huì)導(dǎo)致權(quán)限驗(yàn)證,從而產(chǎn)生指向登陸界、
面的跳轉(zhuǎn)重定向指令,所以會(huì)出現(xiàn)這個(gè)狀況。所以明顯是當(dāng)初設(shè)計(jì)沒(méi)有考慮到后來(lái)的修改,但作為bug修改者,也只能做到這樣。
所以以后再遇到這個(gè)問(wèn)題就可以有兩種解法,1是找到源頭,清掉重定向指令,2就是修改架構(gòu),調(diào)整驗(yàn)證的位置。
附:關(guān)于302的簡(jiǎn)單解決辦法(http://www.cnblogs.com/sanshi/archive/2009/07/26/1531440.html)
stackoverflow上關(guān)于此問(wèn)題的解答(http://stackoverflow.com/questions/2800982/ajax-redirect-dilemma-how-to-get-redirect-url-or-how-to-set-properties-for-redi/5115777#5115777)
總結(jié)
如果覺(jué)得編程之家網(wǎng)站內(nèi)容還不錯(cuò),歡迎將編程之家網(wǎng)站推薦給程序員好友。
本圖文內(nèi)容來(lái)源于網(wǎng)友網(wǎng)絡(luò)收集整理提供,作為學(xué)習(xí)參考使用,版權(quán)屬于原作者。
總結(jié)
以上是生活随笔為你收集整理的ajax 偶尔302,关于Ajax 中response出现302的一点见解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 诚e赊是什么?
- 下一篇: easyui select ajax,e