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

带接口的角度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 邮差回应: 还有一个错误: 预飞响应无效(重定向)

  • 在gpts中发送一个post请求出现以下错误,但是调用其他的get请求是正常的,为什么?是不是gpts在发送post请求时,把格式进行了转换,导致了请求错误? 左边是GPTS在debug模式下发送的请求参数, 右边是在postman中请求的接口参数。 左边报错了,右边正常返回 chatGPT GPTs中完整的报错信息如下:

  • 我在: > 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客户端。 遵循以下原则: