一般的跨域请求如果需要加验证信息浏览器控制台会打印
![Y$EL]}B8CA)OU{)L6F3WFD.png
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'。 其中重要提示就是这句话。我理解大概意思就当证书信息被激活(允许传输cookie)的时候请求里允许的源不能是 *。也就是说需要指定具体的客户端跨域访问ip.
这里说一下出现这个错误的原因。
前端ajax的跨域请求默认是不传cookie的。需要手动设置。
xhrFields: {
withCredentials: true
},
axios 中这样设置
import axios from 'axios'
axios.defaults.withCredentials=true
当前端配置修改后请求跨域就会出现第一步的错误,这时候就需要在服务器端设置了。
(顺带一说,感谢我的后端小伙伴成少在这个寂寞的夜晚陪我搞到深夜)
现在的情况是只有前端同意跨域请求携带cookie了,而后端还没有同意。所以在后台配置中也设置一下就好了。
django中setting.py的配置
[图片上传失败...(image-90d7c0-1556455798141)]