You need to enable JavaScript to run this app. 跨域请求被拦截:CORS头Access-Control-Allow-Origin与http://localhost:3000不匹配
优惠活动
大模型
产品
解决方案
定价
更多

跨域请求被拦截:CORS头Access-Control-Allow-Origin与http://localhost:3000不匹配

问题解决方法

你的配置存在两处错误,按下面的步骤修改即可:

  • 错误添加前端请求头
    Access-Control-Allow-Origin 属于服务端返回的响应头,不需要前端在请求参数中主动携带。你在fetch的headers中添加这个字段后,会导致请求变为非简单请求触发CORS预检,额外增加跨域校验规则,直接删除该配置即可,修改后的前端请求代码如下:
function others(){
  fetch('http://localhost:3100/',{
    method: "POST",
    body: JSON.stringify({stat:'good'})
  })
 .then(function(res){ return res.json(); })
 .then(function(data){ console.log(JSON.stringify( data ) ) })
}
  • origin匹配规则冲突
    CORS校验会严格匹配origin字符串,你3100服务配置的origin是http://localhost:3000/(末尾带斜杠),但浏览器实际发起请求时携带的Origin头是http://localhost:3000(无末尾斜杠),两者字符串不匹配就会触发校验失败,修改3100服务的cors配置即可:
app.use(cors({
  origin: 'http://localhost:3000'
}));

修改完成后重启两个服务,再次触发请求即可正常拿到返回数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 12:54:10