角度2 RC 5处理来自Http.Post(..)的返回值

时间:2016-09-22 00:30:14

标签: angularjs promise angular-promise

我在一个名为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

我错过了什么?

0 个答案:

没有答案