前端上傳到服務端報錯'Access-Control-Allow-Origin'

問題與解決辦法

前端攜帶cookie憑證信息請求服務端接口,當後臺'Access-Control-Allow-Origin':*這樣設置時,遇到報錯,
圖片描述前端

Access-Control-Allow-Origin不能爲 * ,當請求的證書模式爲「include」時
這是你的請求沒有經過的緣由
這個證書模式初始化是經過Ajax的withCredentials屬性控制的

雖然有報錯,但請求數據是成功的。只不過請求成功以後的操做沒法進行下去
圖片描述ios

要解決這個報錯問題,前端須要對withCredentials參數設置 withCredentials: false,axios

this.$axios({
    method: 'post',
    url:'http://upload-z2.qiniup.com/',         // 七牛雲的上傳地址,根據本身所在地區選擇,我這裏是華南區
    headers: {
        'Content-Type': 'multipart/form-data'
    },
    withCredentials: false,
    data:formdata
}).then((res)=>{
    console.log(res.data)

})

敲黑板,知識點:

後臺用session記錄的用戶登陸
一、前端發出的請求若是是攜帶Cookie身份信息cookie

二、服務端的Access-Control-Allow-Origin若是設置的是*session

那麼這個請求會失敗,在Options預請求時會被攔截下來。post

參考文獻

MDN文檔 :
https://developer.mozilla.org...this

相關文章
相關標籤/搜索