nodejs 服务端如何添加 Access-Control-Allow-Origin
时间: 2024-10-03 07:02:31 浏览: 25
rh-nodejs6-nodejs-asn1-0.2.3-2.el7.noarch.rpm
在Node.js中设置`Access-Control-Allow-Origin`是为了支持跨域请求,这通常是通过中间件(Middleware)来实现的。如果你使用Express框架,你可以使用`cors`库来简化这一过程。以下是基本步骤:
首先,你需要安装`cors`库,可以通过npm安装:
```bash
npm install cors
```
然后,在你的Express应用中配置CORS,例如在入口文件(如`app.js`)中:
```javascript
const express = require('express');
const cors = require('cors');
const app = express();
// 启用CORS
app.use(cors({
// 允许所有的origin
origin: ['http://localhost:7456', 'https://yourdomain.com'], // 更改为你需要的源
// 如果你想允许所有源头,可以用'*'
credentials: true, // 是否允许携带cookies
optionsSuccessStatus: 204, // 预请求默认状态码
}));
// 添加其他路由...
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
```
在这个例子中,`origin`字段列出了允许的源,如果请求来自于不在列表中的源,将会返回`CORS预检失败`。你可以根据实际需求调整这些配置。
如果你只想针对特定的HTTP方法(如GET、POST等)开启CORS,可以这样设置:
```javascript
app.options('*', cors({ ... })) // 只处理OPTIONS请求
app.get('/', cors({ ... })) // 或者针对某个路径
app.post('/api/data', cors({ ... }))
```
阅读全文