[英]Trouble getting the HTTP response's body on a POST request in Angular
[英]Value not getting passed to body in post request Angular
我是新手。 在ts文件中,用户名和密码具有值。 在服务文件中,该值将传递给函数,但不会传递给主体var body = 'userName=username&password=password';
。
请对此提供帮助。
component.ts :
loginSubmit(){ this.loginservice.login(this.f.username.value,this.f.password.value).subscribe(
data =>
{
this.objlogindata = data;
console.log(this.objlogindata);
}
)
}
服务
login(username:any, password:any){
var body = 'userName=this.username&password=this.password';
const header = new HttpHeaders();
const myheader = header.set('Content-Type', 'application/x-www-form-urlencoded');
return this.http.post(this.loginUrl,body,{headers: myheader}).pipe(map((response: Response) => {
let user = response.json();
console.log(user);
})
);
}
body
应该是json对象
尝试这样:
var body = {
userName=this.username,
password=this.password'
};
使用HttpClient
this.http.post(url, body).subscribe((resp: any) => {
console.log(resp)
let user = resp
});
我看不到您正在使用哪个版本的HttpClient,但是有2个:
response.json()
.json()
,只需获取响应即可。 同样, map()
是数据转换运算符,因此您必须返回结果,像这样
let user = response.json();
return user;
祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.