我需要将CORS设置为在由express提供的脚本上启用。我如何设置这些公共/资产返回的响应头?
当前回答
@klode的答案是正确的。
但是,您应该设置另一个响应标头以使其他人可以访问您的标头。
例子:
首先,在响应头中添加“page-size”
response.set('page-size', 20);
然后,你所需要做的就是暴露你的头文件
response.set('Access-Control-Expose-Headers', 'page-size')
其他回答
npm中至少有一个中间件可以在Express中处理CORS: CORS。[见@mscdex answer]
这是如何设置自定义响应头,从ExpressJS DOC
res.set(field, [value])
将报头字段设置为value
res.set('Content-Type', 'text/plain');
或者传递一个对象一次设置多个字段。
res.set({
'Content-Type': 'text/plain',
'Content-Length': '123',
'ETag': '12345'
})
混叠
res.header(field, [value])
npm中至少有一个中间件可以在Express中处理CORS: CORS。
服务。使用(函数(req, res, next) { res.header(“Access-Control-Allow-Origin”、“*”); res.header(“Access-Control-Allow-Methods”、“获取、头选择、POST、PUT "); res.header("Access-Control-Allow-Headers", "Origin, x - request - with, Content-Type, Accept, Authorization"); next (); });
使用express.js 4.18.2的最新版本:
如果你正在使用静态中间件,并且想要改变响应头,你应该:
app.use(express.static('./', {
setHeaders: function(res) {
res.set("Content-Security-Policy", "default-src 'self'");
}
}));
首先在响应头中添加“field”
response.set('field', 'value');
然后你要做的就是暴露你的头文件
response.set('Access-Control-Expose-Headers', 'field')
推荐文章
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?
- jQuery日期/时间选择器
- 我如何预填充一个jQuery Datepicker文本框与今天的日期?
- npm犯错!代码UNABLE_TO_GET_ISSUER_CERT_LOCALLY
- 数组的indexOf函数和findIndex函数的区别
- jQuery添加必要的输入字段