我在CORS场景下访问我的响应标头时遇到问题。 我正在做一个CORS电话。因此,我在API Manager中配置了我的API配置以接受CORS请求(即,为我的REST端点启用了CORS)。
但是当我的应用程序(Angular2应用程序)执行发布请求时(http.post)没有看到响应头。我在Chrome Devtools中检查了远程服务器接收的浏览器的内容,结果发现在浏览器中收到了所有预期的响应标头。显然,Angular没有将它传递给我的代码,我无法访问标题。 Gunter,建议我检查一下CORS标题
访问控制 - 暴露 - 接头
我的问题: 在启用CORS时,我在哪里可以告诉WSO2 API Manager传递pass或设置此头?我在api-manager.xml中尝试了但是在重启后我没有看到预期的标题(在我的例子中是标题'Location')。
Angular2 's Http.post is not returning headers in the response of a POST method invocation
答案 0 :(得分:2)
APIM即开即用支持Access-Control-Allow-Headers
,但不支持Access-Control-Expose-Headers
。
但您也可以将APIM配置为发送该标头。为此,您可以创建如下所示的序列并将其附加到API。
<sequence xmlns="http://ws.apache.org/ns/synapse" name="_cors_request_handler_">
<property name="Access-Control-Expose-Headers" value="Location" scope="transport" type="STRING"/>
</sequence>
This doc解释了如何将此类序列文件引用到特定API或全局API中。