我对我的API进行了Get调用,并希望将结果作为字符串,以便我可以将其拆分
GetServiceProviderId() {
this.http.get(this.rooturl + 'info', { headers: this.reqHeader });
var data = "mitId: 18, ServiceProvider: 2" <- result I get and want to split
var dataspilitted = data.split(" ");
return dataspilitted[3];
}
答案 0 :(得分:2)
Original guide 说您需要在请求选项中指定responseType
GetServiceProviderId() {
return this.http.get(this.rooturl + 'info', { headers: this.reqHeader, responseType:'text' })
.map(data => {
var dataspilitted = data.split(" ");
return dataspilitted[3];
});
}
答案 1 :(得分:1)
这不是JSON响应吗?为什么要转换为字符串,拆分,获取第三个单词,转换为数字并希望什么都不会改变?
您可以这样做:
this.http.get(this.rooturl + 'info', { headers: this.reqHeader })
.subscribe(result => console.log('Result is ', result.ServiceProvider));
答案 2 :(得分:0)
您将需要订阅HTTP调用,然后根据响应的格式来解析响应中的数据。
GetServiceProviderId() {
this.http.get(this.rooturl + 'info', { headers: this.reqHeader }).subscribe(
(data) => {
// Optionally parse "data" into string depending on result format
// data = parse(data)
this.dataSplit = data.split(" ")[3];
}
);
}
在此示例中,parse(data)
是一些函数,如果HTTP响应首先没有返回字符串,您将编写该函数将数据解析为字符串。