Angular 6 http.get-在控制台中显示返回的对象

Angular 6 http.get-在控制台中显示返回的对象,angular,typescript,Angular,Typescript,这里有一个有用的角度教程: 在data.services.ts文件中,有一个简单的http.get,它返回一个json负载: return this.http.get('https://jsonplaceholder.typicode.com/users'); 我希望“检查”Chrome开发者工具中的有效负载,并添加了以下代码: console.log("Payload = " + this.http.get('https://jsonplaceholder.typicode.com/use

这里有一个有用的角度教程:

在data.services.ts文件中,有一个简单的http.get,它返回一个json负载:

return this.http.get('https://jsonplaceholder.typicode.com/users');
我希望“检查”Chrome开发者工具中的有效负载,并添加了以下代码:

console.log("Payload = " + this.http.get('https://jsonplaceholder.typicode.com/users'));
但我在Chrome中看到的是:

Payload = [object Object]
如何“查看”通过console.log()返回的原始JSON数据


我想要检查有效负载的原因是我的需求是读取XML响应。我知道我必须将XML转换为JSON,但我想确保我得到了XML。

http的get方法返回一个可观察的值。可观察对象只有在订阅后才能工作

this.http.get('some url ') // No api call will be made. You haven't subscribe it yet. You can check your browser network tab.
这样写吧:

console.log('Print:' + this.http.get('')); // will get 'Print: + [object object] because this is not the data that has returned but an observable object.'
要实际获取数据,请订阅可观察数据,如下所示: 试试这个:

this.http.get('some url ').subscribe(responseData => console.log(responseData));

http的get方法返回一个可观察的。可观察对象只有在订阅后才能工作

this.http.get('some url ') // No api call will be made. You haven't subscribe it yet. You can check your browser network tab.
这样写吧:

console.log('Print:' + this.http.get('')); // will get 'Print: + [object object] because this is not the data that has returned but an observable object.'
要实际获取数据,请订阅可观察数据,如下所示: 试试这个:

this.http.get('some url ').subscribe(responseData => console.log(responseData));

好的,我是Angular 6的新手,但是由于http.client返回一个Observable,我们必须订阅它以获得结果,并且要将值输出到console而不是[Object Object],您必须将其作为参数传递到
console.log()

this.http.get('https://jsonplaceholder.typicode.com/users').subscribe(
  data => console.log("Payload = ", data);
);

好的,我是Angular 6的新手,但是由于http.client返回一个Observable,我们必须订阅它以获得结果,并且要将值输出到console而不是[Object Object],您必须将其作为参数传递到
console.log()

this.http.get('https://jsonplaceholder.typicode.com/users').subscribe(
  data => console.log("Payload = ", data);
);

另一种方法是通过设置response选项获得完整响应。这也可用于从响应中读取标题

  this.http.get('https://jsonplaceholder.typicode.com/users',{ observe: 'response' })
   .subscribe(
    response => console.log(response.body)
  );

另一种方法是通过设置response选项获得完整响应。这也可用于从响应中读取标题

  this.http.get('https://jsonplaceholder.typicode.com/users',{ observe: 'response' })
   .subscribe(
    response => console.log(response.body)
  );

确保只注销有效负载,不要将其与字符串(“有效负载=…”)连接起来

这样做会将http.get方法输出转换为其toString()解释,[object]:

console.log("Payload = " + this.http.get('https://jsonplaceholder.typicode.com/users'));
改为这样做:

数据服务

someMethod() {
    return this.http.get('https://jsonplaceholder.typicode.com/users');
}
someOtherMethod() {
    this.dataService.someMethod().subscribe(payload => console.log(payload));
}
使用该服务

someMethod() {
    return this.http.get('https://jsonplaceholder.typicode.com/users');
}
someOtherMethod() {
    this.dataService.someMethod().subscribe(payload => console.log(payload));
}

您可以在服务中执行以下快速测试(但请记住,不会返回任何值):


确保您只注销了有效负载,而不是将其与字符串(“有效负载=…”)连接起来

这样做会将http.get方法输出转换为其toString()解释,[object]:

console.log("Payload = " + this.http.get('https://jsonplaceholder.typicode.com/users'));
改为这样做:

数据服务

someMethod() {
    return this.http.get('https://jsonplaceholder.typicode.com/users');
}
someOtherMethod() {
    this.dataService.someMethod().subscribe(payload => console.log(payload));
}
使用该服务

someMethod() {
    return this.http.get('https://jsonplaceholder.typicode.com/users');
}
someOtherMethod() {
    this.dataService.someMethod().subscribe(payload => console.log(payload));
}

您可以在服务中执行以下快速测试(但请记住,不会返回任何值):


您使用的是“HttpClient”?我相信您的负载是一个数组的数组,因此它不会像您希望的那样显示在控制台中。您可以放置一个调试器点,然后用鼠标手动移动到调试器上并查看其属性。你能用鼠标打印出你得到的东西吗?Shashikant——是的,我用的是HttpClient。谢谢你的贡献!您使用的是“HttpClient”?我相信您的负载是一个数组的数组,因此它不会像您希望的那样显示在控制台中。您可以放置一个调试器点,然后用鼠标手动移动到调试器上并查看其属性。你能用鼠标打印出你得到的东西吗?Shashikant——是的,我用的是HttpClient。谢谢你的贡献!订阅是正确的,但是console.log()也会返回Payload=[object],……您确定吗?我从文章作者的课程中得到了这段代码:this.data.getUsers().subscribe(data=>this.users$=data);你的头发是一根线。如果您仅通过console.log(data)输出,您将获得您的输出。console.log(“Payload=”,data)逗号符号,但+将被更正Marcello--感谢您在这里的贡献!我也是个新手,这对我来说是一个真正的挑战!订阅是正确的,但是console.log()也会返回Payload=[object],……您确定吗?我从文章作者的课程中得到了这段代码:this.data.getUsers().subscribe(data=>this.users$=data);你的头发是一根线。如果您仅通过console.log(data)输出,您将获得您的输出。console.log(“Payload=”,data)逗号符号,但+将被更正Marcello--感谢您在这里的贡献!我也是个新手,这对我来说是一个真正的挑战!Shadab——这是一个很好的澄清——谢谢。现在我可以清楚地看到我的JSON响应数组。我的下一个挑战是处理XML响应。现在我可以清楚地看到我的JSON响应数组。我的下一个挑战是处理XML响应。谢谢你消除了我的一些误解!是的,德克,这也奏效了。谢谢你消除了我的一些误解!