Angular6 http.get结果字符串

时间:2018-08-17 12:58:40

标签: angular typescript

我对我的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];
  }

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响应首先没有返回字符串,您将编写该函数将数据解析为字符串。