我在一个名为AppService的可注入类中使用typescript在angular 2 RC 5中创建了一个通用post方法。只是下面的Post方法:
post(url, data, options?: RequestOptionsArgs ): Promise<any> {
var opt = this.createHeaders(options);
return this.http.post(url, data, opt)
.toPromise()
.then(response => response.json().data as any)
.catch(this.handleError);
}
private handleError(error: any): Promise<any> {
return Promise.reject(error.message || error);
}
我在我的组件中调用这个AppService的通用post方法,如下所示:
export class myComponent implements OnInit {
result : MyServiceResult;
userModel: UserModel;
constructor(private router: Router, private service: AppService) {
this.userModel = new UserModel();
this.result = new MyServiceResult();
}
ngOnInit(): void {
}
getValue(): void {
var rowid = this.userModel.rowid;
var serviceTag = this.userModel.serviceTag;
var data = JSON.stringify({ rowid, serviceTag });
console.log(data);
this.service.post('api/Dutch', data, null)
.then(t => this.result = t ) ;
console.log('value returned: '+ this.result.ExpiryDate);
}
}
用web api 2编写的服务端点被点击,在服务端我看到返回的值,所以它不是服务的问题。在客户端,我收到了这条消息。
返回值:undefined
我错过了什么?