我正在尝试使用离子框架并从我创建的API中解析json,然后使用它在我的离子应用程序中填充html。当我进入我的全病人页面时,我收到以下错误:
<dependency>
<groupId>mylocal.weka</groupId>
<artifactId>weka</artifactId>
<version>1.0</version>
</dependency>
我的所有患者。:
Error: Uncaught (in promise): Response with status: 0 for URL: null
at c (http://130.215.45.72:8102/build/polyfills.js:3:19752)
at c (http://130.215.45.72:8102/build/polyfills.js:3:19461)
at http://130.215.45.72:8102/build/polyfills.js:3:20233
休息-services.ts:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { RestService } from '../../providers/rest-service/rest-service';
@Component({
selector: 'page-all-patients',
templateUrl: 'all-patients.html',
providers: [RestService]
})
export class AllPatientsPage {
public data: any;
constructor(public navCtrl: NavController, public restService: RestService){
this.loadPeople();
}
loadPeople(){
this.restService.load()
.then(data => {
this.data = data;
});
}
}
当我转到错误所在的页面时,它完全崩溃,但控制台中没有打印出任何内容。我不确定这是在API中解析数据还是其他错误。我已手动转到api页面,数据按预期显示。
答案 0 :(得分:2)
我猜黑曜石时代已经给了你可能的核心问题,但不管怎样,你应该处理承诺拒绝。 因此,在这种情况下,您应该相应地更改代码:
我的所有患者。:
...
loadPeople(){
this.restService.load()
.then(data => {
this.data = data;
})
.catch(e => console.error); // change this line according to your debugging/logging needs
}
...
休息-services.ts:
...
import 'rxjs/add/operator/toPromise';
...
return this.http.get('url')
.map(res => res.json())
.subscribe(data => {
this.data = data.results;
return this.data
})
.toPromise();
...
希望这可以澄清您报告的实际错误,但也可以让您更加了解正在发生的事情,因为您已经失去了关于错误的任何重要信息。