我试图以与身体成角度的方式调用http post调用,但没有得到响应。
callAddGroupAPI(formId, groupJSON){
let json = {
"group":groupJSON
}
this.http.post(this.apiURL+'AddGroup/'+formId+'/3',{body:json}).subscribe(message => {
alert("success");
},
(err) => {
console.log(err)
}
)
}
其中“ this.apiURL / AddGroup / formId / groupId ”是我的网址 并且我想发送一些JSON正文,其中“ 键=组”和“ value = someJSON ”
答案 0 :(得分:1)
您需要在发帖请求中添加HttpHeaders,例如https://angular.io/guide/http#making-a-post-request
import { HttpHeaders } from '@angular/common/http';
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'my-auth-token'
})
};
addHero (hero: Hero): Observable<Hero> {
return this.http.post<Hero>(this.heroesUrl, hero, httpOptions)
.pipe(
catchError(this.handleError('addHero', hero))
);
}
答案 1 :(得分:1)
您可以尝试这种方式:
create(request: RequestData) {
return this.http.post(this.shopService.getShopBaseUrl() +
'Requests', request, {
headers: new HttpHeaders()
.set('Content-Type', 'application/json')});
答案 2 :(得分:1)
在邮递员中,其正文为 form-data ;在Angular中,如果未将http正文定义为 form-data ,则默认为原始正文,带有JSON对象。
我想解决您的问题,您需要将代码更改为:
const body = new FormData();
body.set('group',groupJSON);
//or
body.append('group',groupJSON);
this.http.post(this.apiURL+'AddGroup/'+formId+'/3',body).subscribe(message => {
alert("success");
},
(err) => {
console.log(err)
}
)