前端發出的請求若是是附帶身份驗證(withCredentials:true)前端
然後端的Access-Control-Allow-Origin若是設置的是*vue
那麼這個請求會失敗,在Options預請求時會被攔截下來。後端
來源 MDN文檔 :
https://developer.mozilla.org...cookie
在一個文件上傳的接口出現問題。dom
大概意思是說,在預請求時,請求就失敗了。 Access-Control-Allow-Origin不能爲 * ,當請求的證書模式爲「include」時 這是你的請求沒有經過的緣由 這個證書模式初始化是經過Ajax的withCredentials屬性控制的
<el-upload :action=path :on-success="import_upload_ok" :on-error="import_error" :with-credentials="true" :show-file-list=false :headers=token ref=dom> <el-button class="first-btn upload-btn" type="primary"> <span class="el-icon-plus"></span> 同步快遞信息 </el-button> </el-upload>
能夠看到我設置了:with-credentials="true"spa
得知with-credentials是用來設置是否支持發送cookie憑證信息的字段code
能夠理解爲這是一條http協議或者CORS的規則。blog
就是當request中設置了withCredentials : true,也就是請求攜帶了驗證身份信息時,token
response的Access-Control-Allow-Origin : *,(而是應該有請求身份過濾)接口
不然的話,請求會失敗。
這裏的解決辦法有2個,
由於我這裏還真不必傳遞Cookie身份信息,因此我就選擇設置withCredentials:false