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

场景:

常见的跨域报错,一般都是由后端进行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'
相关推荐
丷丩4 分钟前
MapLibre GL JS第33课:渲染世界副本
javascript·gis·map·mapbox·maplibre gl js
前端环境观察室5 分钟前
别让 Agent 浏览器任务无限重试:失败分类、RetryPolicy 与人工复核
前端
bonechips6 分钟前
深入理解 JavaScript的历史包袱——变量提升(Hoisting)
javascript·深度学习
喵个咪13 分钟前
Headless 后端实践:基于Go的企业级多栈管理系统脚手架
前端·vue.js·react.js
m0_7381207214 分钟前
渗透测试基础——黑盒测试下的Web漏洞挖掘与利用解析(一)
服务器·前端·网络·安全·php
丷丩1 小时前
MapLibre GL JS第31课:添加实时数据
javascript·gis·map·mapbox·maplibre gl js
candyTong1 小时前
Claude Code 每次调用 API 时,上下文是怎么"拼"出来的?
javascript·后端·架构
小林ixn1 小时前
别再背“变量提升”了!深入编译执行,彻底搞懂 JavaScript 运行机制
javascript
用户852495071841 小时前
为什么变量能 未定义先使用?
javascript·程序员
Larcher2 小时前
JS 变量提升:代码没动,为什么执行顺序就变了?
前端·javascript·前端框架