網上有不少說法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 竟然收到了收到了信息,實際應該未加載才對,因為非在本機操作.固有空再補充吧