当在本地开发时,可能会遇到预检请求中的 Access-Control-Allow-Headers 错误。这是因为浏览器在跨域请求时会发送预检请求,以确认服务器是否支持特定的请求头或方法。如果服务器未在响应中包括 Access-Control-Allow-Headers 头,则浏览器会拒绝该请求。
为了解决此问题,您需要在您的服务器端添加以下代码:
// 设置允许跨域访问的相关配置 app.use((req, res, next) => { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE'); res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); if (req.method === 'OPTIONS') { return res.sendStatus(200); } next(); });
这段代码将添加一个处理适当 Access-Control-Allow-* 头的中间件。您可以根据需要修改允许的请求头和方法。此代码示例语言为 Node.js 中间件。如果您使用其他技术栈,请查看相关文档以获取更多信息。