如何解决HTTP获取请求标头未在angular中正确设置
我正在尝试发送http get请求以及以下标头
var headers = {}
headers['x-email'] = 1;
headers['x-from'] = 1577836800;
headers['x-to'] = 1598659200;
return this.http.get<any>(environment.apiUrl+'/User/getTrips',{headers: new HttpHeaders(headers)})
.subscribe(data => {
if (data == undefined) {
this.rowData = [];
this.errorMsg = data['Error'];
} else {
this.rowData = data.slice(1);
this.gridOptions.rowData = data;
this.gridOptions.api.refreshCells({force : true});
}
当我在网络控制台中看到时,我在请求中看不到任何标头,因此得到了空的api响应。
解决方法
尝试在使用变量之前对其进行初始化。
const httpHeaders: HttpHeaders = new HttpHeaders({
'x-email': 1,'x-from': 1577836800
'x-to': 1598659200
});
然后
this.http.get<any>(environment.apiUrl+'/User/getTrips',{headers: httpHeaders })//... code continues here
我最初的想法是HttpHeaders
类具有一些微妙之处,因为它是不可变的。通过以这种方式更改初始化,我们可以确保它使用正确的类型,并且在调用http.get
这是不正确的: *如果数据未定义;没有错误属性
if (data == undefined) {
this.rowData = [];
this.errorMsg = data['Error']; /* if data is undefined; there is no Error property*/
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。