Angular2 Http POST 抛出订阅者异常
Angular2 Http POST throws Subscriber Exception
我在 Angular 2 应用程序中有以下文件:
可注射服务
@Injectable()
export class CompanyService{
constructor(private http:Http){}
public test():any{
return this.http.get('http://echo.jsontest.com/title/ipsum/content/blah')
.map(res => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
}
组件
@Component({
templateUrl: 'company.html',
providers: [CompanyService]
})
export class CompanyPage{
constructor(private companyServ:CompanyService){}
//This method is used from a submit for using ngSubmit
public onSubmit():void{
this.companyServ.test().subscribe(data => {
console.log('Data', data);
}, err => {
console.error('Error', err);
}, console.log('End'));
}
}
呈现视图并调用方法 onSubmit
时,出现以下错误:
如能提供有关该错误的任何信息,我们将不胜感激。
解决方案是更改 returns class test()
方法的数据类型 CompanyService
:
可注射服务
public test():Observable<any>{
return this.http.get('http://echo.jsontest.com/title/ipsum/content/blah')
.map(res => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
组件
我删除了 3 个参数,因为 Observable<any>
只允许 2 个参数:成功函数和错误函数
public onSubmit():void{
this.companyServ.test().subscribe(data => {
console.log('Data', data);
}, err => {
console.error('Error', err);
});
}
我在 Angular 2 应用程序中有以下文件:
可注射服务
@Injectable()
export class CompanyService{
constructor(private http:Http){}
public test():any{
return this.http.get('http://echo.jsontest.com/title/ipsum/content/blah')
.map(res => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
}
组件
@Component({
templateUrl: 'company.html',
providers: [CompanyService]
})
export class CompanyPage{
constructor(private companyServ:CompanyService){}
//This method is used from a submit for using ngSubmit
public onSubmit():void{
this.companyServ.test().subscribe(data => {
console.log('Data', data);
}, err => {
console.error('Error', err);
}, console.log('End'));
}
}
呈现视图并调用方法 onSubmit
时,出现以下错误:
如能提供有关该错误的任何信息,我们将不胜感激。
解决方案是更改 returns class test()
方法的数据类型 CompanyService
:
可注射服务
public test():Observable<any>{
return this.http.get('http://echo.jsontest.com/title/ipsum/content/blah')
.map(res => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
组件
我删除了 3 个参数,因为 Observable<any>
只允许 2 个参数:成功函数和错误函数
public onSubmit():void{
this.companyServ.test().subscribe(data => {
console.log('Data', data);
}, err => {
console.error('Error', err);
});
}