Client.service.ts:

add(client: Client): Observable<Client> {
    return this.authHttp.post(this.URI, client)
      .map((res) => res.json()
      //...errors if any
      ,(message)=>message.json());
Client.add.component.ts:
  this.clientService.add(client)
    .subscribe(_client => {
      this.onAdd.emit(_client);
    },
      message => console.log("THIS ERROR"+message));
但是在发生错误的情况下的结果是:the result is always bad request
我如何获取消息或错误列表the result i get in brower

最佳答案

如果使用angular2-jwt作为authHttp,请确保将其导入并正确注入(inject)服务中:
import { AuthHttp } from 'angular2-jwt';->constructor (private authHttp: AuthHttp) { }
然后,您可以执行类似操作(确保将内容类型/请求选项添加到POST请求中):

add(client: Client): Observable<Client> {
    let headers = new Headers({ 'Content-Type': 'application/json' }); // set content-type
    let options = new RequestOptions({ headers: headers }); // create a request option

    return this.authHttp.post(this.URI, client, options)
        .map((res) => res.json())
        //...errors if any
        .catch(this.handleErrorObservable);
}

private handleErrorObservable(error: Response | any) {
    console.error(error.message || error);
    return Observable.throw(error.message || error);
}

然后,当您调用它时:
this._clientService.add(client)
    .subscribe(
         res => console.log(res),
         err => console.log(err)
     );

否则,请确保以Web api代码的JSON格式返回所需的响应。

08-16 22:23