无法在console.log中打印来自HTTP GET请求的响应

时间:2016-10-21 10:17:32

标签: angular

在选择特定网址后,在网络标签下的开发者工具下,在响应正文中获取json数据。 但是当试图在控制台.log上打印它时,结果没有显示。

let result = this._http.get(url, setheaderAndCredential())  
.toPromise()
.then(res => <MemberInformationDto[]> res.json().data)        
.then(data => { return data; });

console.log('RESULT is',result);

2 个答案:

答案 0 :(得分:0)

试试这个

let result = this._http.get(url, setheaderAndCredential())  
.toPromise()
.then(res => {
  <MemberInformationDto[]> res.json().data;
  console.log('RESULT is',res.json());
  })        
.then(data => { return data; });

当你在函数外部没有数据时,你正试图控制,实际的http进程是异步的,所以在.map方法中打印

答案 1 :(得分:0)

致电服务的方式是

让url =&#34; yourURL&#34;;

返回this._http.get(url,yourcredentialRequest())。map(res =&gt; res.json());

但是当我通过下面的函数访问这个返回值时,我可以通过内部控制台获取url值。日志&#39;完成工作获得&#39;而不是外部console.log&#39;你好数据&#39;之一。

让hi = this.functionCallToGetReturnValue()

   .subscribe(
              data => this.myStringVarable = JSON.stringify(data), 
              error => console.log("Error HTTP GET Service"), 
              () => console.log("Job Done Get !", this.myStringVarable )
             );

    console.log('hello data', this.myStringVarable );