国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

解決后端無法對前端的ajax請求重定向

這篇具有很好參考價值的文章主要介紹了解決后端無法對前端的ajax請求重定向。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本章目錄:

  • 問題描述
    • AJAX請求后端直接重定向失敗
  • 解決方案
    • 后端攔截請為響應(yīng)頭添加重定向標志
    • 后端攔截器為響應(yīng)頭添加重定向路徑
    • 前端響應(yīng)攔截器獲取響應(yīng)頭數(shù)據(jù),并通過location.href = url 完成頁面跳轉(zhuǎn)

一、問題描述

本來想在攔截器里設(shè)置未登錄用戶訪問指定接口時,跳轉(zhuǎn)到登錄頁面。

ajax 重定向頁面跳轉(zhuǎn),異常,VUE,前端,http,vue.js,spring

結(jié)果發(fā)現(xiàn)前端請求到的res如下圖所示,只返回了登錄頁的樣式,并沒有完成瀏覽跳轉(zhuǎn)

ajax 重定向頁面跳轉(zhuǎn),異常,VUE,前端,http,vue.js,spring??

通過查閱資料了解:ajax是一種異步http請求方式,它可以在不刷新頁面的情況下向后臺發(fā)送請求并獲取響應(yīng)數(shù)據(jù),但是它不能自動進行頁面重定向。


二、解決方案?

修改攔截器邏輯,未登錄用戶不直接重定向登錄頁面。

當(dāng)未登錄用戶訪問指定接口時,在響應(yīng)頭里添加“我要重定向”的標志并且添加重定向后的地址返回給前端,前端請求接口后,搜尋到"我要重定向"標志后,拿著對應(yīng)的地址去完成頁面跳轉(zhuǎn)即可。

攔截器代碼:

ajax 重定向頁面跳轉(zhuǎn),異常,VUE,前端,http,vue.js,spring

前端請求后的獲取的響應(yīng)頭:

ajax 重定向頁面跳轉(zhuǎn),異常,VUE,前端,http,vue.js,spring?

在axios的響應(yīng)攔截器內(nèi)判斷響應(yīng)頭:

ajax 重定向頁面跳轉(zhuǎn),異常,VUE,前端,http,vue.js,spring

axios.interceptors.response.use(function (response) {
    // 判斷響應(yīng)頭內(nèi)是否有重定向標志
  if(response.headers.redirect == null){
    return response.data
  } else {
    //響應(yīng)頭內(nèi)的重定向地址
    location.href = response.headers.redirecturl
  }
  if (!response.data.success) {
    return Promise.reject(response.data.errorMsg)
  }
  return response.data;
}

?如此,通過前端的location.href即可完成頁面的重定向


總結(jié):?

  • 后端攔截請為響應(yīng)頭添加重定向標志
  • 后端攔截器為響應(yīng)頭添加重定向路徑
  • 前端響應(yīng)攔截器獲取響應(yīng)頭數(shù)據(jù),并通過location.href = url 完成頁面跳轉(zhuǎn)

?文章來源地址http://www.zghlxwxcb.cn/news/detail-609514.html

?

?

到了這里,關(guān)于解決后端無法對前端的ajax請求重定向的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • response.sendRedirect()實現(xiàn)重定向(頁面跳轉(zhuǎn))

    response.sendRedirect()實現(xiàn)重定向(頁面跳轉(zhuǎn))

    在某些情況下,針對客戶端的請求,一個 Servlet 類可能無法完成全部工作。這時,可以使用請求重定向完成這一工作。 請求重定向指 Web 服務(wù)器接收到客戶端的請求后,可能由于某些條件的限制,不能訪問當(dāng)前請求 URL 所指向的 Web 資源,而是指定了一個新的資源路徑,讓客戶

    2023年04月22日
    瀏覽(18)
  • 解決前后端分離項目后端設(shè)置響應(yīng)頭前端無法獲取

    解決前后端分離項目后端設(shè)置響應(yīng)頭前端無法獲取

    在開發(fā)前后端分離項目中出現(xiàn)后端設(shè)置響應(yīng)頭,前端一直無法獲取等問題。 后端設(shè)置響應(yīng)頭代碼如下 在瀏覽器中我們是可以看到設(shè)置的響應(yīng)頭 Content-Disposition 屬性,但是在前端接收到的響應(yīng)信息中卻看不到我們設(shè)置的 Content-Disposition 屬性。 原來在前后端分離的項目中除了需

    2024年02月04日
    瀏覽(100)
  • H5跳回小程序的wx.miniProgram.navigateTo不起效果,無法跳轉(zhuǎn)頁面,已解決

    H5跳回小程序的wx.miniProgram.navigateTo不起效果,無法跳轉(zhuǎn)頁面,已解決

    ?需求:H5中的點擊首頁按鈕跳回小程序的首頁,就寫了以下代碼 ? ?結(jié)果并沒有跳轉(zhuǎn)成功,但是alert成功,于是查找資料,換了各種api比如switchTab,redirectTo都不行,找了好多博主的帖子發(fā)現(xiàn)都不行,問題肯定出在url上面,于是改成下面這樣,就可以成功跳轉(zhuǎn)了,不得不說啊

    2024年02月11日
    瀏覽(27)
  • vue2前端使用axios發(fā)起post請求,后端(springboot)拿不到值解決辦法

    vue2前端使用axios發(fā)起post請求,后端(springboot)拿不到值解決辦法

    axios封裝-我常用的請求頭參數(shù)? application/json; charset=utf-8 頁面登錄請求-post 網(wǎng)絡(luò)請求正常傳入?yún)?shù) 后端代碼,查看控制臺發(fā)現(xiàn)都為null,沒取到值。 1.嘗試將前端post請求改成get,其他都不用變 發(fā)現(xiàn)正常取到值,打印輸出正常。前端頁面正常跳轉(zhuǎn)。 2.后端設(shè)置為post請求,前端a

    2024年02月02日
    瀏覽(22)
  • 微信小程序webview跳轉(zhuǎn)頁面后沒有返回按鈕以及變向解決H5安卓無法監(jiān)聽popstate問題

    做了一個app跳轉(zhuǎn)到小程序關(guān)注公眾號的需求,小程序里面用webview嵌套公眾號的H5。 做完我發(fā)現(xiàn)左上角它沒!有!返!回!鍵! 然后!我查了好多資料用過雙頁面跳轉(zhuǎn)讓左上角有返回鍵,但是吧,它確實是有返回鍵了但是沒辦法返回到小程序 ,只是在H5內(nèi)不停的返回在跳轉(zhuǎn)回

    2024年04月12日
    瀏覽(41)
  • ajax中的和后端交互的put、patch、delete請求

    ajax中的和后端交互的put、patch、delete請求

    1、向后端發(fā)送一個put請求,請求修改數(shù)據(jù): 重點:修改誰、修改成什么: 修改誰:修改user下第一個: user內(nèi)容: 修改成什么:修改成“username=hhhpassword=575” 完整代碼:(只復(fù)制了body里面的代碼) ?結(jié)果: json原來的內(nèi)容: json文件內(nèi)容的變化: user內(nèi)容變化: ? 2、向后端

    2024年02月06日
    瀏覽(17)
  • 【異常解決】vue項目localhost:8080無法訪問此網(wǎng)站或者無法訪問此頁面,localhost拒絕了我們的連接請求

    【異常解決】vue項目localhost:8080無法訪問此網(wǎng)站或者無法訪問此頁面,localhost拒絕了我們的連接請求

    前端頁面使用的是vue,vue項目啟動成功,沒有任何報錯,服務(wù)控制臺已出現(xiàn)APP訪問地址,如下圖所示: 點擊訪問地址,瀏覽器打開后頁面先是空白,然后過了一會兒顯示無法訪問此網(wǎng)站,localhost拒絕了我們的連接請求頁面,信息如下: 出現(xiàn)此問題的原因有以下幾種:請挨個

    2023年04月25日
    瀏覽(92)
  • vue3+elementPlus登錄向后端服務(wù)器發(fā)起數(shù)據(jù)請求Ajax

    vue3+elementPlus登錄向后端服務(wù)器發(fā)起數(shù)據(jù)請求Ajax

    后端的url登錄接口 先修改main.js文件 login.vue 此時前端有跨域問題 先配置跨域 vue.config.js? 項目中如果沒有這個文件 請自行創(chuàng)建。 此時可以看到跳轉(zhuǎn)到登錄到home頁面 ?完整的后端登錄方法? 消息提示使用elementPlus 的Elmessage?

    2024年01月18日
    瀏覽(29)
  • 前端開發(fā)中的ajax請求、axios封裝

    前端開發(fā)中的ajax請求、axios封裝

    目錄 瀏覽器http請求 同步?js標簽跨域、url 異步ajax、websock協(xié)議 ajax是異步的技術(shù)術(shù)語,最早的api是xhr(XMLHttpRequest) fetch es6 api axios 封裝axios(無論用requst還是axios請求都會生效) src/utils/request.ts請求/響應(yīng)攔截器封裝 ts post請求request.post(url)和 通用請求request({url,method:\\\'post\\\'})對象

    2024年02月11日
    瀏覽(69)
  • 前端如何中斷請求 ( axios、原生 ajax、fetch)

    使用場景 在前端開發(fā)中,我們經(jīng)常需要中斷請求來優(yōu)化性能或處理特定的業(yè)務(wù)需求。以下是一些常見的使用場景: 比如 重復(fù)請求:當(dāng)頁面中多個組件并發(fā)調(diào)用同一個接口時,在第一個請求返回后,我們可能需要中斷其他組件對該接口的調(diào)用,以避免重復(fù)請求和冗余數(shù)據(jù)。這

    2024年02月04日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包