后端说处理了跨域但没有生效

场景:

常见的跨域报错,一般都是由后端进行setHeader/*什么的。但是现在这种情况就是后端说他们做了处理。但是我这边请求还是报错。

withCredentials:

with-credentials用来设置是否发送cookie,如果为true就会在跨域请求时候携带cookie,如果是同一个域名则设置什么都无妨,但是如果不是同一个域名下/外部接口,携带了cookie的话,后端就不能将Access-Control-Allow-Origin设置为*。因为设置为*时cookie不会出现在http的请求头里。

修改方法:
javascript 复制代码
// 创建axios实例

const service = axios.create({
    baseURL: process.env.VUE_APP_URL, // 测试环境
    withCredentials: true,
    timeout: 20000 // 请求超时时间
})

// request拦截器
service.interceptors.request.use(config => {
      如果是外部的请求则设置为false
    if (config.url && config.url.indexOf('/data/board/distributed') > 0){ 
  config.withCredentials = false
    }
    config.headers['Content-Type'] = 'application/json; charset=UTF-8'
    if (JSON.parse(localStorage.getItem('user'))) {
        config.headers['Authorization'] = "dowsure " + JSON.parse(localStorage.getItem("user")).token;
    }
    return config
}, error => {
    // Do something with request error
    Promise.reject(error)
})

或者(我没有试过)
将Content-Type: 'application/json'改为Content-Type: 'application/x-www-form-urlencoded'
相关推荐
李姆斯2 小时前
为啥Agent在coding表现这么好,但是在别的领域就是差的不少?
前端·agent·ai编程
鱼与宇4 小时前
前端Web(html+css+js+vue3)
前端
孙克旭_5 小时前
Docker 镜像构建|Vue+SpringBoot+Go 多语言项目 Dockerfile 案例
linux·运维·vue.js·spring boot·docker·dockerfile
雪芽蓝域zzs6 小时前
(六)打包优化 + Nginx 部署完整配置 + 项目收尾
前端·vue.js
研☆香6 小时前
聊一聊前端的常见字 关键字
开发语言·前端·javascript
东风破_6 小时前
JWT 1:从一个登录请求开始,理解 React 项目里的 API 层与 Mock
前端·后端
东风破_7 小时前
JWT 3:为什么 Token 要放进 Authorization?Axios 拦截器到底解决了什么?
前端·后端
东风破_7 小时前
JWT 5:路由守卫是什么?把整个 JWT 登录鉴权流程串起来
前端·后端
东风破_7 小时前
JWT 2:HTTP 是无状态的,为什么登录成功后还要给 Token?
前端·后端
东风破_7 小时前
JWT 4:Zustand 到底解决了什么?为什么登录状态要放进 Store?
前端·后端