我正在Angular2 Web项目上工作,在ts类中我有一个对象:
Object: any= {
"first":null,
"second":null,
"third": null,
}
我想在http.post请求正文中发送对象。我尝试了下一个代码,但是不起作用;
method() {
const url='/pathname/';
return this.http.post(url, this.Object).pipe(map((data:any)=>data));
}
控制台出现错误:
error : HttpErrorResponse {headers: HttpHeaders, status: 400, statusText: "OK",url: "http://localhost:8080/path", ok: false,..}
headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
message: "Http failure response for
http://localhost:8080/path 400 OK"
name: "HttpErrorResponse"
ok: false
status: 400
statusText: "OK"
url: "http://localhost:8080/path"
您能解释一下如何在请求后的正文中发送打字稿对象吗?预先谢谢你
答案 0 :(得分:0)
您需要订阅method
函数返回的可观察的帖子。就是这样。
this.method().subscribe(
res => {
// Handle success response here
},
err => {
// Handle error response here
}
);
答案 1 :(得分:0)
您应该订阅post方法,因为http类的此方法返回一个可观察的值。 您可以将代码重写为:-
method() {
const url='/pathname/';
return this.http.post(url, this.Object).subscribe( resp=> {
const data = resp; // response you get from serve
}, error => {
console.log(error); //error you get from server
});
}
答案 2 :(得分:-3)
您收到400错误的请求错误,有效负载密钥与中间磨损不匹配。请建议将正确的参数传递给Request对象。