使用 Strongloop 框架的自定义响应 headers
Custom response headers with Strongloop framework
每当我的 Chrome 浏览器向 REST api 服务器发出请求时,控制台中就会出现浏览器错误 Refused to get unsafe header "Content-Range"
。现在我已经设法通过两种不同的方式在我的 vanilla express 服务器(即没有 StrongLoop)中解决这个问题:
- 手动设置响应headers
res.header("Access-Control-Expose-Headers")
或
- 使用 node-cors
allowedHeaders
和 exposedHeaders
选项(参见 https://github.com/TroyGoode/node-cors#configuration-options)
现在如何在我的 StrongLoop 实例中实现这一点?官方 SL 文档仅讨论 cors.origin
和 cors.credentials
,请参阅 http://docs.strongloop.com/display/public/LB/config.json。
我错过了什么吗?
更新最佳解决方案:
// config.json
"cors": {
"origin": true,
"credentials": true,
"allowedHeaders": ["X-Requested-With"],
"exposedHeaders": ["Content-Range"]
},
您可以制作自己的中间件处理程序,例如 https://groups.google.com/forum/#!searchin/loopbackjs/response$20header/loopbackjs/y7vB4RFDS0E/Xyb-J2oYQakJ
或者您可以添加远程挂钩并通过上下文 object 手动操作响应 header。参见 http://docs.strongloop.com/display/LB/Remote+hooks
我们在幕后使用node-cors。 config.json 中配置的 cors 选项将传递给 node-cors。你能试试吗?
每当我的 Chrome 浏览器向 REST api 服务器发出请求时,控制台中就会出现浏览器错误 Refused to get unsafe header "Content-Range"
。现在我已经设法通过两种不同的方式在我的 vanilla express 服务器(即没有 StrongLoop)中解决这个问题:
- 手动设置响应headers
res.header("Access-Control-Expose-Headers")
或 - 使用 node-cors
allowedHeaders
和exposedHeaders
选项(参见 https://github.com/TroyGoode/node-cors#configuration-options)
现在如何在我的 StrongLoop 实例中实现这一点?官方 SL 文档仅讨论 cors.origin
和 cors.credentials
,请参阅 http://docs.strongloop.com/display/public/LB/config.json。
我错过了什么吗?
更新最佳解决方案:
// config.json
"cors": {
"origin": true,
"credentials": true,
"allowedHeaders": ["X-Requested-With"],
"exposedHeaders": ["Content-Range"]
},
您可以制作自己的中间件处理程序,例如 https://groups.google.com/forum/#!searchin/loopbackjs/response$20header/loopbackjs/y7vB4RFDS0E/Xyb-J2oYQakJ
或者您可以添加远程挂钩并通过上下文 object 手动操作响应 header。参见 http://docs.strongloop.com/display/LB/Remote+hooks
我们在幕后使用node-cors。 config.json 中配置的 cors 选项将传递给 node-cors。你能试试吗?