繁体   English   中英

带有接口:statusText的Angular HTTP请求:“未知错误”

[英]Angular http request with interface: statusText: “Unknown Error”

我试图通过使用接口在Angular中调用示例API( https://jsonplaceholder.typicode.com/posts )。

但是我收到以下错误。 错误HttpErrorResponse {标头:HttpHeaders,状态:0,statusText:“未知错误”,网址:null,确定:false,…}

我的TS文件的代码如下

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { HttpClient } from '@angular/common/http';

interface Post {
  title: string;
  body: string;
};

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {


  constructor(public navCtrl: NavController, private http: HttpClient) {

  }

  ionViewDidLoad() {

    this.getData();

  }

  getData() {
    this.http.get<Post>('https://jsonplaceholder.typicode.com/posts').subscribe(res => {
      let postTitle = res.title;
      console.log(postTitle);
    });
  }

}

好吧,您的代码存在一些问题,因为一个res是Array类型的,如果您要访问objects属性,则必须遍历它(也许是这样的:)

let postTitle = [];
this.http.get<Post>('https://jsonplaceholder.typicode.com/posts').subscribe(res => {
  res.forEach(element => {
  postTitle.push(element);
});
  console.log(postTitle);
});

我强烈建议您不要通过服务调用API,而不要在组件中使用它。

所以我试图用https://stackblitz.com/edit/angular-njzmwr复制它

我发现了一个问题,您当前的api将数据作为数组返回,因此要么通过过滤器从数组中选择数据,要么使用其他方法。 请检查上述网址

API返回和Post S Array 。请尝试:

getData() {
  this.http.get<Post[]>('https://jsonplaceholder.typicode.com/posts').subscribe(res => {
    let postTitle = res[0].title;
    console.log(postTitle);
  });
}

高温超导

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM