当前位置: 首页 > 知识库问答 >
问题:

带接口的角度http请求:statusText:“未知错误”

束敏学
2023-03-14

我试图调用一个示例API(https://jsonplaceholder.typicode.com/posts)通过使用接口在角度上。

然而,我得到以下错误。错误HttpErrorResponse

下面是我的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);
    });
  }

}

共有3个答案

皇甫才良
2023-03-14

API返回PostS的Array。请尝试:

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

谭敏学
2023-03-14

所以我试着用https://stackblitz.com/edit/angular-njzmwr

我发现一个问题,你当前的api是返回数据作为一个数组,所以要么从数组或其他选择过滤器的数据

公西翊歌
2023-03-14

好的,您的代码有一些问题,因为一个res是数组类型的,如果您想访问objects属性,您必须循环访问它(可能类似于这样:)

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

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

 类似资料:
  • 问题内容: 我试图将自定义错误消息返回给用户,以让他们知道发生错误时出了什么问题,但是我已经尝试了所有方法来显示该消息,并且似乎什么也没有捕捉到。这是我的角度代码: 这是它正在调用的 styleAPIservice 函数: 这是 API 函数: 这是发生错误时返回的内容(例如Style已经存在): 我究竟做错了什么?我觉得自己到处都在搜索,并尝试了所有可能的建议,但是对于为什么我无法显示错误消息我

  • 目前面临的问题是,对Azure Search API的请求返回“未知错误”。 我拿到了request在postman中工作,并认为在Angular中使用Http客户端在理论上是相同的设置。 错误消息: 错误HttpErrorResponse 邮差回应: 还有一个错误: 预飞响应无效(重定向)

  • 我在: > http://developer.yahoo.com/blogs/ydn/important-api-updates-changes-8060.html http://developer.yahoo.com/boss/search/ http://tech.groups.yahoo.com/group/ysearchboss/msearch?query=http要求 http://de

  • 你好,我正在尝试做一个简单的Http GET请求,但是无法在ionic v2 Beta中运行... 这是我的应用程序.js: 这是我的页面1.js: 将http:http添加到构造函数时- 错误:找不到模块“./page1/page1” 我也在Page1.js尝试过: ,然后在第 1 页中的(单击)上调用生成生成请求().html但它返回这些注释: 例外:评估“单击”时出错 this.http未定

  • 问题内容: 如何使用与以下代码等效的node.js发出Http请求: 问题答案: 使用http客户端。 遵循以下原则:

  • 问题内容: 我正在为我们的应用程序开发新的RESTful Web服务。 在某些实体上执行GET时,客户端可以请求实体的内容。如果他们想添加一些参数(例如,对列表进行排序),则可以在查询字符串中添加这些参数。 另外,我希望人们能够在请求正文中指定这些参数。 HTTP / 1.1似乎并未明确禁止这样做。这将使他们能够指定更多信息,可能使指定复杂的XML请求更加容易。 我的问题: 这是个好主意吗? HT