我刚接触Angular 2,但仍在学习如何通过get调用来点击一个URL,但即使在浏览器的网络中,get似乎也无法通过,我找不到被调用的get URL.

程序将进入方法控制台,在get调用的上方和下方记录日志(log),但get调用没有记录任何内容

我的服务方式

import { Headers, Http, Response } from '@angular/http';
import { Injectable } from '@angular/core';
import { Persons } from './mock-people';
import { Person } from './person';
import {Observable} from 'rxjs/Rx';

getAllPersons(): void {
  console.log("Here");
  this.http.get(`http://swapi.co/api/people/1`)
    .map((response: Response) => {
      console.log(response.json());
      response.json();
    });
  console.log("Comes here 2");
}

在应用程序中导入了HttpModule个.单元ts

我的控制台屏幕截图

控制台]

推荐答案

Http使用rxjs,是一个冷/懒的可观察对象,这意味着您应该订阅它以使其工作.

this.http.get(`http://swapi.co/api/people/1`)
  .map((response: Response) => {
    console.log(response.json());
    response.json();
  })
  .subscribe();

或者,如果您想从其他地方订阅,您应该返回http.get方法,如下所示:

getAllPersons(): Observable <any> {
  console.log("Here");
  return this.http.get(`http://swapi.co/api/people/1`)
    .map((response: Response) => {
      console.log(response.json());
      return response.json();
    });
}

然后:

getAllPersons().subscribe();

Angular相关问答推荐

如何将CDkDropList与Angular FormArray和FormGroup一起使用?

HTTP Get请求未发送到提供的URL

Angular :仅当 Select 第一个日期时才显示第二个日期字段

如何go 除融合图中的拖尾水印?

当try 使用Angular和PrimeNg手动聚焦输入时,我做错了什么?

运行容器后,Docker容器立即退出

try 测试具有Angular material 下拉列表的组件时,在Angular 17中发现&q;错误的意外合成属性@TransitionMessages

Angular 16独立依赖注入问题

带区域设置用法的Angular 日期管道

从API动态加载MAT表数据时禁用分页

根据环境变量动态加载Angular templateUrl

使用 Angular 类构造函数来获取依赖项

NgRx Effects 抛出类型错误,我不知道发生了什么

Angular 在关闭另一个对话框后打开另一个对话框的最佳做法是什么?

ng 生成组件不会创建 ngOnInit 和构造函数

as和let之间的异步管道区别

Angular 2:Validators.pattern() 不工作

Angular 2 中的 $implicit 是什么?

Angular 2 可用的 yeoman 生成器

路由 getCurrentNavigation 始终返回 null