溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue 項(xiàng)目中遇到的跨域問題及解決方法(后臺(tái)php)

發(fā)布時(shí)間:2020-10-20 02:00:10 來源:腳本之家 閱讀:508 作者:sansan_7957 欄目:web開發(fā)

問題描述

前端 vue 框架,后臺(tái) php,百度跨域問題后臺(tái)加這段代碼

header("Access-Control-Allow-Origin: *");

加了之后報(bào)這個(gè)錯(cuò):

The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'.
The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'.

Vue 項(xiàng)目中遇到的跨域問題及解決方法(后臺(tái)php)

解決辦法

文章鏈接:CORS: credentials mode is ‘include'

xhrFields: {
 withCredentials: false
},

withCredentials: true 改成 withCredentials: false,如果你沒加上面那段代碼當(dāng)然也不會(huì)報(bào)這個(gè)錯(cuò)。雖然是解決方法很簡(jiǎn)單,但經(jīng)此發(fā)現(xiàn)許多知識(shí)沒掌握不得不梳理下。

•HTTP 請(qǐng)求方式有許多種,有些請(qǐng)求會(huì)觸發(fā) CORS 預(yù)檢請(qǐng)求?!靶桀A(yù)檢的請(qǐng)求”會(huì)使用 OPTIONS 方法發(fā)起一個(gè)預(yù)檢請(qǐng)求到服務(wù)器,以獲知服務(wù)器是否允許該實(shí)際請(qǐng)求。

•對(duì)于跨域請(qǐng)求瀏覽器一般不會(huì)發(fā)送身份憑證信息。如果要發(fā)送憑證信息,需要設(shè)置 XMLHttpRequest 的 withCredentials 屬性為 true:withCredentials: true。此時(shí)要求服務(wù)器的響應(yīng)信息中攜帶 Access-Control-Allow-Credentials: true,否則響應(yīng)內(nèi)容將不會(huì)返回。

•對(duì)于攜帶身份憑證的請(qǐng)求,服務(wù)器不得設(shè)置 Access-Control-Allow-Origin 的值為“*”。因?yàn)檎?qǐng)求頭攜帶了 Cookie 信息。要將 Access-Control-Allow-Origin 的值設(shè)置為 http://www.zrt.local:8080。

•另外,響應(yīng)頭中也攜帶了 Set-Cookie 字段,嘗試對(duì) Cookie 進(jìn)行修改。如果操作失敗,將會(huì)拋出異常。

跨域請(qǐng)求想要帶上 cookies 必須在請(qǐng)求頭里面加上:

crossDomain: true, 
xhrFields: {
  withCredentials: true
}

又變成文章開頭的問題了,解決辦法:

后臺(tái)代碼:

Access-Control-Allow-Origin: 'http://www.zrt.local:8080'
Access-Control-Allow-Credentials: true

前端代碼:

crossDomain: true, 
xhrFields: {
  withCredentials: true
}

跟之前一樣就行了。

總結(jié)

以上所述是小編給大家介紹的Vue 項(xiàng)目中遇到的跨域問題及解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI