![](/img/trans.png)
[英]MVC 4 $Ajax JSON Request returns status 0, statusText: “error”
[英]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.