跨域问题随便搜一下就有很多解决方案,之前都是使用代理解决的,这次在项目中遇到不使用代理进行跨域请求的,特此来记录一下
前端请求配置(fetch请求):
const res = await fetch(url, {
POST,
headers: {
'Content-Type': 'application/json',
token: routeQ.token ? sha256(routeQ.authId) : '',
},
})
配置跨域请求主要是服务端配置,我在项目中使用的是fetch请求,就普通的请求封装,没什么变化
服务端配置:
Access-Control-Allow-Origin:'https://test.com', // 发起请求页面的源
Access-Control-Request-Method: POST,// 接收的请求方式,可以逗号隔开填多个
Access-Control-Request-Headers:X-PINGOTHER, Content-Type,token,cokie,// 接收的自定义请求头,比如我这个项目需要传token进行识别,就需要把token加入
再次请求就可以接口就可以成功返回数据,需要注意的就是 Access-Control-Allow-Origin这个字段,是发起请求页面的地址,后面不要斜杠