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

因?yàn)閍xios請(qǐng)求后端,接收不到token的問引出的問題

這篇具有很好參考價(jià)值的文章主要介紹了因?yàn)閍xios請(qǐng)求后端,接收不到token的問引出的問題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

vue axios請(qǐng)求后端接受不到token的問題。

相關(guān)概念

什么是跨域?

跨域指的是在瀏覽器環(huán)境下,當(dāng)發(fā)起請(qǐng)求的域(或者網(wǎng)站)與請(qǐng)求的資源所在的域之間存在協(xié)議、主機(jī)或端口中的任何一個(gè)條件不同的情況。換句話說,只要協(xié)議、主機(jī)或端口中有一個(gè)不同,就會(huì)被認(rèn)為是跨域請(qǐng)求。

具體來說,以下情況都屬于跨域請(qǐng)求:

  • 域名不同:例如從https://www.example.comhttps://api.example.com發(fā)送請(qǐng)求。
  • 端口不同:例如從https://www.example.com:8080https://www.example.com:3000發(fā)送請(qǐng)求。
  • 協(xié)議不同:例如從http://www.example.comhttps://www.example.com發(fā)送請(qǐng)求。

axios請(qǐng)求后端接受不到token

具體看下面博客:

vue中axios發(fā)送OPTIONS預(yù)檢請(qǐng)求的原因及如何通過_vue預(yù)請(qǐng)求_millet109的博客-CSDN博客

?后端接收不到前端傳入的header參數(shù)信息 - 簡(jiǎn)書 (jianshu.com)

淺談:

axios默認(rèn)發(fā)的是復(fù)雜請(qǐng)求;而cors復(fù)雜請(qǐng)求;會(huì)先發(fā)一次options預(yù)請(qǐng)求,所以我們進(jìn)行token

校驗(yàn)必須要先把第一次options請(qǐng)求過濾出去。

但是,這里又一個(gè)問題,我們通過springMvc設(shè)置跨域代買如下:

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        // 注冊(cè) CORS 配置
        registry.addMapping("/**")
                .allowedOriginPatterns("*")
                .allowedHeaders("*")
                .allowCredentials(true)
                .allowedMethods("GET","POST","PUT","DELETE") // 注意就是要請(qǐng)求方式上,要改成全部
                .maxAge(3600);
    }
}

但其實(shí)我們自定義了一個(gè)filter,并不受springmvc設(shè)置的跨域管理,因此,我們需在filter自定邏輯判斷。

實(shí)例代碼如下:

 // 1.排除options請(qǐng)求,防止報(bào)錯(cuò)
            if(!request.getMethod().equals("OPTIONS")){
                token = request.getHeader("Authorization").substring(6); // 沒有token,這路為null
            }

            // 設(shè)置跨域
            response.setHeader("Access-Control-Allow-Origin", "*"); // 允許所有域名跨域請(qǐng)求
            response.setHeader("Access-Control-Allow-Methods", "*"); // 允許所欲方法跨域親夠
            response.setHeader("Access-Control-Allow-Headers", "*"); // 允許請(qǐng)求頭設(shè)置人和自定義信息
            // 預(yù)檢請(qǐng)求緩存時(shí)間(秒),即在這個(gè)時(shí)間內(nèi)相同的預(yù)檢請(qǐng)求不再發(fā)送,直接使用緩存結(jié)果。
            response.setHeader("Access-Control-Max-Age", "3600");

后端響應(yīng)cookie,前端接收不到

后端

允許跨域請(qǐng)求攜帶憑證信息

response.setHeader("Access-Control-Allow-Credentials", "true");

上面跨域需要更改:

服務(wù)器server端要配置Access-Control-Allow-Origin到以上配置為止,發(fā)送ajax請(qǐng)求,我們發(fā)現(xiàn)還會(huì)出現(xiàn)一個(gè)錯(cuò)誤,提示我們 Access-Control-Allow-Origin 不能用 * 通配符。原因是:當(dāng)服務(wù)器端 Access-Control-Allow-Credentials = true時(shí),參數(shù)Access-Control-Allow-Origin 的值不能為 '*' 。我們重新設(shè)置Access-Control-Allow-Origin的值,當(dāng)服務(wù)器端接收到請(qǐng)求后,在返回響應(yīng)時(shí),把請(qǐng)求的域Origin填寫到響應(yīng)的Header信息里(即誰(shuí)訪問我,我允許誰(shuí)),代碼如下:

response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));

前端

?設(shè)置withCredentials = true

?因?yàn)閍xios請(qǐng)求后端,接收不到token的問引出的問題,Vue,vue.js,前端,javascript文章來源地址http://www.zghlxwxcb.cn/news/detail-695627.html

到了這里,關(guān)于因?yàn)閍xios請(qǐng)求后端,接收不到token的問引出的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

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

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

    2024年02月02日
    瀏覽(22)
  • SpringBoot后端接收Axios上傳的文件

    SpringBoot后端接收Axios上傳的文件

    很多時(shí)候,我們項(xiàng)目開發(fā)的過程中,難免會(huì)遇到文件上傳的需求 對(duì)于 SpringBoot 項(xiàng)目,我們?cè)撊绾尉帉懸粋€(gè)文件上傳的接口呢? 這里我用的是 阿里云OSS 云服務(wù)器來作為上傳文件的存儲(chǔ)倉(cāng)庫(kù),比起存儲(chǔ)在電腦本地,云服務(wù)器更加便于管理、性能更好并且更加 安全 ,值得我們選

    2024年02月22日
    瀏覽(18)
  • vue+axios 向后端SpringBoot傳遞List 后端使用List接收

    vue+axios 向后端SpringBoot傳遞List 后端使用List接收

    困擾了一天的問題第二天終于解決了! 一開始是這樣向后端傳的:(主要看后面的seats) 結(jié)果報(bào)錯(cuò)了: 在網(wǎng)上找了好多解決方法,有說參數(shù)太長(zhǎng),超過了Tomcat的限制了怎么的,反正是沒有解決。 直接上解決方法吧。 前端代碼: ?后端代碼: 最后附上我自己的: 前端代碼:

    2024年02月03日
    瀏覽(20)
  • axios攔截器:每次請(qǐng)求自動(dòng)帶上 token

    Step 1:創(chuàng)建Axios實(shí)例并添加攔截器 在你的Vue項(xiàng)目中,一般我們會(huì)先導(dǎo)入axios,然后創(chuàng)建一個(gè)axios實(shí)例。這樣做是為了方便統(tǒng)一管理和配置。 上面的代碼做了什么呢? 1. 我們創(chuàng)建了一個(gè)axios實(shí)例service,相當(dāng)于有了一個(gè)專屬郵差。 2. 給這個(gè)郵差設(shè)置了規(guī)則:每次出門送信前,先檢

    2024年04月09日
    瀏覽(27)
  • postman發(fā)送json嵌套, 后端 @RequestBody 接收不到

    postman發(fā)送json嵌套, 后端 @RequestBody 接收不到

    遇到了一個(gè)很奇葩的問題,具體是這樣的: postman 通過 post 方式發(fā)送請(qǐng)求,請(qǐng)求參數(shù)是一個(gè)嵌套的json,后端是@RequestBody修飾的實(shí)體類接參的, 具體的json數(shù)據(jù): 后端: 大家知道以上事例即可。 出現(xiàn)的問題是: 發(fā)送請(qǐng)求后,沒能收到外層實(shí)體類的參數(shù),內(nèi)層的ANPR對(duì)象,一直

    2024年02月04日
    瀏覽(24)
  • 接口設(shè)置了responseType:‘blob‘后,接收不到后端錯(cuò)誤信息

    下載文件流,需要接口設(shè)置responseType:\\\'blob\\\',接口設(shè)置了responseType:\\\'blob\\\'后,拿不到后端接口的異常信息,我們只需要添加如下代碼:

    2024年02月12日
    瀏覽(20)
  • spring中,為什么前端明明傳了值,后端卻接收不到

    spring中,為什么前端明明傳了值,后端卻接收不到

    在進(jìn)行前后端的聯(lián)調(diào)時(shí),有時(shí)候會(huì)出現(xiàn),前端明明傳了值,后端接口卻接收不到的情況,這種情況常常讓人很苦惱,然后就會(huì)去仔細(xì)對(duì)比前后端的參數(shù)單詞是不是對(duì)應(yīng)上了,也會(huì)去檢查是不是前端的請(qǐng)求參數(shù)格式有問題,又或者是后端接口接收的參數(shù)格式有問題,一通檢查對(duì)

    2024年02月03日
    瀏覽(20)
  • Vue使用axios用post方式將表單中的數(shù)據(jù)以json格式提交給后端接收

    1.后端controller層代碼代碼 我采用的接收形式數(shù)據(jù)是json格式 2.前端登錄注冊(cè)界面代碼 3.遇到的問題: 3.1. 我們首先在Vue data中定義一個(gè)存放表單數(shù)據(jù)的registform{},然后給它添加上屬性,在表單input處使用v-model綁定。 3.2. 接下來將registform保存到datata變量中,然后就是axios的發(fā)送請(qǐng)

    2023年04月27日
    瀏覽(28)
  • 前端基于axios請(qǐng)求下載文件(后端返回Blob文件流)

    前端基于axios請(qǐng)求下載文件(后端返回Blob文件流)

    前端小白第一篇csdn文章就當(dāng)自己記錄學(xué)習(xí)啦! 我自己遇到的情況寫在前面防止有人和我不一樣,浪費(fèi)時(shí)間瀏覽; 調(diào)用下載接口后端給我返回的數(shù)據(jù)格式(即文件流格式)如下: 1.按鈕定義點(diǎn)擊事件 2.調(diào)用后端接口 在使用 axios 請(qǐng)求下載文件 api 接口時(shí),注意區(qū)分不同請(qǐng)求方法

    2024年02月11日
    瀏覽(97)
  • Java中GET請(qǐng)求與POST請(qǐng)求,前端傳參與后端接收實(shí)例

    Java中GET請(qǐng)求與POST請(qǐng)求,前端傳參與后端接收實(shí)例

    此示例以代碼方式展現(xiàn),可直接結(jié)合controller層每個(gè)接口上方注釋與其接口傳遞參數(shù)方式理解! 前端傳參直接就以apiPost工具來代替 apiPost調(diào)用后端接口幾種方式 ? 代碼: ?controller層: service層: mapper層: xml:

    2024年02月07日
    瀏覽(31)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包