前端上传到服务端报错'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

相关文章
相关标签/搜索