angular - angular 5 httpclient ,在 post 上,响应不返回标头,只返回响应对象
问题描述
我最近搬到了 Angular 5 和更早的 http.post 返回响应对象的完整标题,但是使用 httpclient ,它不返回响应标题。我如何更改这部分帖子代码以提供完整的响应对象,包括响应标头
我读过有关使用 {observable: "response"} 的信息,但它不起作用
post(inURL, data, config = undefined) {
let headers, options;
if (config) {
options = config;
} else {
//headers = this.getDefaultHeader();
//options = new RequestOptions({ headers: headers });
options = httpOptions;
}
let action = this.httpService.post(inURL, data, options);
return new Promise((resolve, reject) => {
action.subscribe(
response => resolve(response),
error => {
this.interceptError(error);
reject(error);
}
);
});
}
解决方案
我假设您有充分的理由promise
从这里返回 a 而不是 Observable 。
话虽这么说,你在这里使事情复杂化了。您可以简单地调用toPromise()
from 的返回值post
。
好吧,你说你用过{observable: "response"}
,但没用。那是因为你没有正确使用它。它应该是 {observe: "response"}
而不是 {observable: "response"}
它必须是选项的一部分。所以我使用了扩展运算符(...
)并添加{observe: "response"}
到options
.
试试这个:
post(inURL, data, config = undefined) {
let headers, options;
if (config) {
options = config;
} else {
//headers = this.getDefaultHeader();
//options = new RequestOptions({ headers: headers });
options = httpOptions;
}
options = { ...options, observe: 'response' };
this.httpService.post(inURL, data, options)
.toPromise();
}
推荐阅读
- python - 如何旋转seaborn barplot x轴刻度标签
- socketcan - SocketCAN:read() 函数永远不会返回
- r - plyr 包中分类变量的平均值
- php - db的IMG路径,然后显示
- azure - 使用 Azure 资源组时购买 SendGrid Twilio 电子邮件活动源 API
- javascript - Javascript html在特定元素下方或上方(相交)视觉上查找所有元素
- c# - 如何使用mysql销售首先过期的物品?
- swift - 我正在使用 KingFisher 库将 gif 加载到集合视图中,这会导致内存问题和崩溃。我可以做些什么来降低内存使用率?
- python - 如何在 .apply 函数中返回原始值
- java - 未找到密码视图的类 Androidx.legacy.widget.space