You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Express.js部署至Vercel后CORS跨域请求失败问题求助

Express.js部署至Vercel后CORS跨域请求失败问题求助

各位大佬好!我最近把自己的Express后端部署到Vercel之后,本地前端(地址是http://localhost:5173)完全没法获取后端数据,一直弹出CORS相关的报错,试了一些方法都没解决,来请教大家!

遇到的具体错误

第一个请求/reviews的报错:

Access to XMLHttpRequest at 'https://richter-restaurant-server-alzami12-al-zamis-projects.vercel.app/reviews' from origin 'http://localhost:5173' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

第二个请求/jwt的报错(预检请求失败):

Access to XMLHttpRequest at 'https://richter-restaurant-server-alzami12-al-zamis-projects.vercel.app/jwt' from origin 'http://localhost:5173' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我当前的CORS配置代码

我在Express里是这么配置CORS的:

app.use(cors({
    origin: 'http://localhost:5173'
}));

项目的依赖版本

这是我package.json里的依赖部分:

"dependencies": {
    "@stripe/agent-toolkit": "^0.2.0",
    "cors": "^2.8.5",
    "dotenv": "^16.4.7",
    "express": "^4.21.2",
    "firebase-admin": "^13.0.1",
    "form-data": "^4.0.1",
    "jsonwebtoken": "^9.0.2",
    "mailgun.js": "^10.2.4",
    "mongodb": "^6.12.0",
    "nodemailer": "^6.9.16",
    "stripe": "^17.5.0",
    "uuid": "^11.0.3"
  }

已尝试的解决办法

  • 把后端代码里的console.logclient.connect都注释掉了,排除无关代码的影响
  • 尝试在CORS配置中添加credentials: true,同时前端请求也设置了withCredentials: true,但问题依然存在
  • 补充说明:我的JWT token是存在localStorage中的

另外我还有对应的错误截图,显示的就是上面提到的CORS报错内容。

备注:内容来源于stack exchange,提问作者Al Zami

火山引擎 最新活动