如何在Node.js后端设置`Access-Control-Allow-Origin`?
时间: 2024-09-30 14:14:23 浏览: 24
在Node.js后端(例如使用Express框架)设置`Access-Control-Allow-Origin`,你可以通过中间件来控制HTTP响应。假设你使用的是Express,可以这样做:
```javascript
const express = require('express');
const app = express();
// 允许跨域请求,设置默认值为'*'
app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
// 如果请求方法不是OPTIONS(预检请求),则继续处理正常请求
if (req.method !== 'OPTIONS') {
next();
}
});
app.options('*', function(req, res) {
res.sendStatus(204); // 返回204表示成功接受预检请求
});
// 添加你的路由处理函数...
```
这里,我们首先创建了一个通用的中间件,它会在每个请求之前设置CORS头。对于OPTIONS请求(预检请求),我们单独处理并返回一个空响应(204)。这有助于满足CORS的安全性要求。
阅读全文