form和ajax的重定向

2021-08-03 15:41:20 字數 789 閱讀 4637

form提交表單或者window.location.href=".......",後台直接response.sendredirect是可以重定向的。

但是ajax的提交,後台response.sendredirect是不能重定向的。測試如下:

public void testaajaxredirect()
然後頁面報錯:

從報錯資訊的xmlhttprequest我們能看出,其實它返回的是乙個重定向的頁面,然後ajax進行解析,因為不符合json格式所以報錯了。從這些能知道,後台重定向之後,瀏覽器收到重定向要求,進行重定向,如果還有重定向要求,就再重定向,最終返回最後那個url的東西,ajax對這個進行解析。所以,ajax的重定向不能是後台直接重定向,而需要配合前端:後台返回乙個錯誤碼和要重定向的url,要求重定向,然後頁面根據這個碼和url進行重定向。

ajax請求重定向

一 ajax重定向的問題。第一步 後端 改造。在後端 大部分情況都是 中判斷是否需要重定向。eg session過期判斷,當判斷session已經過期了,就先判斷此次請求是否是ajax的請求。方法 override 第二步 前段改造ajax屬性。通過 ajaxsetup 方法給ajax方法統一新增請...

ajax 重定向跨域問題

乙個頁面發ajax請求到後端介面,這個後端介面重定向了另外乙個網域名稱的位址 此時會出現跨域問題。ajax呼叫瀏覽器元件發起的請求和瀏覽器直接發起的請求有一定區別。瀏覽器可以通過返回的http狀態進行相應的操作,如訪問乙個頁面,此頁面重定向時,瀏覽器可以獲取到重定向後的url然後進行轉向。對於aja...

AJAX無法重定向解決方法

我的解決辦法就是從前後端都做處理,專案中遇到重定向大多出現在 或者過濾器中。在專案中我使用spring的 去攔截所有的action請求,判斷當前使用者有無登入,若沒有登入就重定向到登入頁面。對於請求是ajax請求重定向問題的處理方法 1 request.getscheme 返回當前鏈結使用的協議 比...