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格式返回所需的响应。