我需要将CORS设置为在由express提供的脚本上启用。我如何设置这些公共/资产返回的响应头?
当前回答
您可以使用cors来做到这一点。cors将处理您的cors回复
var cors = require('cors')
app.use(cors());
其他回答
您可以使用cors来做到这一点。cors将处理您的cors回复
var cors = require('cors')
app.use(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 (); });
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])
首先在响应头中添加“field”
response.set('field', 'value');
然后你要做的就是暴露你的头文件
response.set('Access-Control-Expose-Headers', 'field')
这太烦人了。
好的,如果有人仍然有问题或只是不想添加另一个库。你所要做的就是把这个中间件代码行放在你的路由之前。
歌珥的例子
app.use((req, res, next) => {
res.append('Access-Control-Allow-Origin', ['*']);
res.append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.append('Access-Control-Allow-Headers', 'Content-Type');
next();
});
// Express routes
app.get('/api/examples', (req, res)=> {...});
推荐文章
- 一元加/数字(x)和parseFloat(x)之间的区别是什么?
- angularjs中的compile函数和link函数有什么区别
- 删除绑定中添加的事件监听器
- 很好的初学者教程socket.io?
- HtmlSpecialChars在JavaScript中等价于什么?
- React: 'Redirect'没有从' React -router-dom'中导出
- 如何在React中使用钩子强制组件重新渲染?
- 我如何使用Jest模拟JavaScript的“窗口”对象?
- 我如何等待一个承诺完成之前返回一个函数的变量?
- CALL_AND_RETRY_LAST分配失败-进程内存不足
- 在JavaScript中根据键值查找和删除数组中的对象
- 使嵌套JavaScript对象平放/不平放的最快方法
- 在Ubuntu上安装Node.js
- 如何以及为什么'a'['toUpperCase']()在JavaScript工作?
- 有Grunt生成index.html不同的设置