angular - HttpClient.get('/', {观察:'response'}); 不返回所有标题
问题描述
我正在使用HttpClient.get()
. 我传入了观察响应的选项,当我访问 时.keys()
,除了 . 之外,我没有得到任何其他标头Content-Type
。
Access-Control-Allow-Origin
标头设置为通配符(*),但我仍然只能Content-Type
以角度访问标头。我错过了什么?
标头已正确发送到网络选项卡中的浏览器。我还尝试在Access-Control-Allow-Origin
.
角应用:
this.data.getClubs(1, 10, '', {clubName: 'asc'}, '').subscribe(
dataJson => {
console.log(dataJson.headers.keys());
}
getClubs(page: number, count: number, group: any, sorting: any, filter: any) {
return this.http.get(this.apiUrl + `/club`, {
params: {
count: String(count),
filter: String(filter),
group: String(group),
page: String(page),
sorting: JSON.stringify(sorting)
},
headers: this.getHttpOptions().headers,
observe: 'response'
});
}
请查看图片。标头设置为允许访问标头。 https://i.imgur.com/8nS5SbH.png https://i.imgur.com/A1E4Mhh.png
任何帮助,将不胜感激!
解决方案
这是因为您需要将标头名称添加到access-control-expose-headers
后端的参数中。
例如,如果您想公开一个名为“my-custom-header”的标头,那么在后端您需要将此标头添加到access-control-expose-headers
参数中,例如
response.set({
"my-custom-header": 'custom value',
"access-control-expose-headers": "my-custom-header"
})
希望这会奏效
推荐阅读
- elixir - 使用列表推导生成潜在组合
- ssl - 使用 NGINX 作为反向代理使用 SSL 配置 Sonarqube - 错误代码:SSL_ERROR_RX_RECORD_TOO_LONG
- javascript - 在具有不同 url 的表单中使用多个 websocket
- vba - 从数据库值动态生成和填充 Powerpoint
- c# - 有条件的“使用”
- python - Python - 在标签中加载图像
- php - Laravel 修补文本建议或通过 Tab 键自动完成
- reactjs - 如何处理组件渲染后出现axios响应的情况?
- javascript - 如何使服务器/srr 仅呈现为 vue 组件?
- java - 将记录删除到表中并获取删除的行数