配置跨域请求

103 阅读1分钟

跨域问题随便搜一下就有很多解决方案,之前都是使用代理解决的,这次在项目中遇到不使用代理进行跨域请求的,特此来记录一下

前端请求配置(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这个字段,是发起请求页面的地址,后面不要斜杠