ajax與重定向302 ,網頁已下載,無法跳轉問題


網上有不少說法ajax的請求url瀏覽器不會重定向的說法是片面的,正常是這樣的:

當服務器將302響應發給瀏覽器時,瀏覽器並不是直接進行ajax回調處理,而是先執行302重定向——從Response Headers中讀取Location信息,然后向Location中的Url發出請求,在收到這個請求的響應后才會進行ajax回調處理。大致流程如下:

ajax -> browser -> server -> 302 -> browser(redirect) -> server -> browser -> ajax callback

 所以說不是ajax請求瀏覽器沒法重定向,而是ajax無法控制控制重定向。

如果碰到前后端分離的項目頁面,此等頁面一般是ajax請求,如果此時做權限攔截, 重定向是二次請求服務器的,也就是鏈接請求頁面時,服務器重定向,瀏覽器收到重定向地址,再次請求此重定向的地址,實際操作中此時服務返回重定向302 , 瀏覽器收到這個地址,按這個地址發出請求, 然后服務器此時如果---------未完, 碰到一個例子, 攔截時返回的字符串不用重定向, 朋友那邊 請求頁面的ajax 竟然收到了收到了信息,實際應該未加載才對,因為非在本機操作.固有空再補充吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM