Angular http get 请求什么都不做

问题描述

因此,我正在尝试向 API(例如 SWAPI API)发出请求

在我的 app.module 中:

...
...
import { HttpClientModule } from '@angular/common/http';


  declarations: [
    AppComponent,...
  ],imports: [
    browserModule,browserAnimationsModule,HttpClientTestingModule,HttpClientModule,providers: [],bootstrap: [AppComponent]
})
export class AppModule { }

在我的组件中,我喜欢这样:

  ngOnInit(): void {
    this.studyService.getSWAPI_List().subscribe(response => {
      console.log(response)
    },error => {console.log(error)});
    this.studyService.getSWAPI_List2().subscribe(response => {
      console.log(response)
    },error => {console.log(error)});

  }

在我的服务中:

import { Injectable } from '@angular/core';
import {HttpClient,HttpHeaders} from '@angular/common/http';

const options =  {
  headers: new  HttpHeaders({
    'Content-Type': 'application/json'
  })
};

@Injectable({
  providedIn: 'root'
})
export class TestService {

  constructor(private http: HttpClient) { }

  getSWAPI_List(){
    console.log('Request SWAPI list')
    return this.http.get('https://swapi.dev/api/people/',options);
  }

  getSWAPI_List2(){
    console.log('Request SWAPI list2')
    return this.http.get('https://swapi.dev/api/people/');
  }
}

在我的浏览器控制台中,我没有看到任何响应(对于带有和不带有标头的请求)但是如果我在浏览器中使用这个简单的 URL 一切正常......

我在控制台(以及控制台的网络选项卡)中也没有错误......

有人能帮我看看为什么吗?

解决方法

乍一看,代码似乎是正确的。
我的 Stackblitz example 也按预期工作。

控制台输出:

Request SWAPI list
Request SWAPI list2
Angular is running in development mode. Call enableProdMode() to enable production mode.
{count: 82,next: "http://swapi.dev/api/people/?page=2",previous: null,results: Array[10]…}
{count: 82,results: Array[10]…}

我建议您发布更多信息或更新 Stackblitz 示例,以找到您的真正问题。

您还可以下载 Stackblitz 示例
Stackblitz example
检查它是否适用于您的本地开发机器。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...