我正在尝试通过 vercel 部署我的 MERN 应用程序。我将所有 axios 调用切换到 .env 变量,但现在当我尝试访问网站上与后端对话的页面时,我收到此错误:
Access to XMLHttpRequest at 'https://backend.vercel.app/webpage' from origin 'https://frontend.vercel.app' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
这是我的 CORS 中间件:
const express = require("express");
const cors = require("cors");
const session = require("express-session");
const MongoStore = require('connect-mongo');
const port = process.env.PORT || 8082;
const app = express();
app.use(cors({
origin: 'https://frontend.vercel.app', // allow requests from frontend
methods: ['GET', 'POST', 'PUT', 'DELETE'], // Allowed methods
allowedHeaders: ['Content-Type', 'Authorization','User-Agent', 'Accept', 'Referer'], // headers to allow
credentials: true, // allow setting of cookies or sessions
}));
尝试将“OPTIONS”显式添加到 CORS 中间件中的方法中