如何在express.js资产上设置响应标题
我需要将CORS设置为在express服务的脚本上启用。 我怎样才能在公共/资产的这些返回的响应中设置标题?
在npm上至less有一个中间件用于处理Express中的CORS: cors 。 [看@mscdex答案]
这是如何从ExpressJS DOC设置自定义响应标题
res.set(field, [value])
将标题字段设置为值
res.set('Content-Type', 'text/plain');
或传递一个对象来一次设置多个字段。
res.set({ 'Content-Type': 'text/plain', 'Content-Length': '123', 'ETag': '12345' })
别名为
res.header(field, [value])
在npm上至less有一个中间件用于处理Express中的CORS: cors 。
你可以使用cors来做到这一点。 Cors将处理您的CORS响应
var cors = require('cors') app.use(cors());
这太讨厌了
好的,如果有人仍然有问题,或者只是不想添加另一个库。 所有你需要做的就是在你的路线之前放置这个中间的代码行代码。
Cors示例
app.use((req, res, next) => { res.append('Access-Control-Allow-Origin', ['*']); next(); }); // Express routes app.get('/api/examples', (req, res)=> {...});
@ klode的答案是正确的。
但是,你应该设置另一个响应头,让你的头可以被别人访问。
例:
首先,在响应头中添加“页面大小”
response.set('page-size', 20);
然后,你需要做的就是暴露你的头
response.set('Access-Control-Expose-Headers', 'page-size')