You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署my-app时遭遇CORS跨域错误,请求被拦截寻求解决方案

解决CORS错误:localhost:3000访问API被拦截的问题

你的报错核心是请求源http://localhost:3000不在服务器允许的CORS源列表里,当前配置还存在两个关键问题:

  • 同时启用了cors中间件和自定义响应头设置,两者可能产生冲突;
  • 配置的允许源是https://pathology.rayaninfosolutions.in,和实际发起请求的http://localhost:3000不匹配,导致浏览器拦截预检请求。

具体解决步骤

  • 删掉自定义的响应头设置代码,统一用cors中间件配置,避免冲突
  • 修改cors配置,把http://localhost:3000加入允许的源列表:
    // 兼容开发和生产环境的多源配置
    app.use(cors({
      origin: ['http://localhost:3000', 'https://pathology.rayaninfosolutions.in'],
      methods: ['GET', 'POST', 'OPTIONS', 'PUT', 'PATCH', 'DELETE'],
      allowedHeaders: ['Content-Type', 'Authorization'],
      credentials: true
    }));
    
  • 确保服务器能正确响应OPTIONS预检请求:如果路由里有拦截OPTIONS请求的逻辑,直接移除即可(cors中间件默认会处理这类请求)
  • 验证配置:重启服务器后,打开浏览器开发者工具的「网络」面板,查看请求的响应头,确认存在Access-Control-Allow-Origin: http://localhost:3000(或匹配当前请求源的对应值)

额外注意

  • 生产环境上线时,记得把http://localhost:3000替换成实际的前端域名
  • 不要在开启credentials: true的同时设置origin: '*',浏览器会禁止这种冲突配置

内容的提问来源于stack exchange,提问作者Danish Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 01:52:06