在 Express 中设置头部的 CORS 响应
CORS 标头 允许在浏览器中运行的应用程序向不同域(也称为 origins )上的服务器发出请求。 CORS 标头设置在服务器端 - HTTP 服务器负责指示给定的 HTTP 请求可以是跨域的。
cors npm 模块 是一个 Express 中间件 上设置 CORS 标头 Express 响应对象 。
const app = require('express')();
// Set CORS headers on all responses
app.use(require('cors')());
app.get('/', (req, res) => res.send('Hello, World!'));
const server = await app.listen(3000);
// Make an example request to see that, yep, the CORS headers are set
const axios = require('axios');
const res = await axios.get('http://localhost:3000');
res.headers['access-control-allow-origin']; // '*'
您还可以通过将字符串参数传递给路由的某个子集来声明 CORS 中间件 use()
。
const app = require('express')();
// Set CORS headers on responses to any requests whose URL starts with
// '/api'
app.use('/api', require('cors')());
app.get('/api/test', (req, res) => res.json({ ok: 1 }));
app.get('/', (req, res) => res.send('Hello, World!'));
const server = await app.listen(3000);
// Make an example request to see that CORS headers are set on
// `/api/test`, but not `/`
const axios = require('axios');
let res = await axios.get('http://localhost:3000');
res.headers['access-control-allow-origin']; // undefined
res = await axios.get('http://localhost:3000/api/test');
res.headers['access-control-allow-origin']; // '*'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论