@H_
404_0@
我正在尝试使用x-www-form-urlencodedcontent类型标头发出POST请求,如下所示:
login(username,password): Observable<any> {
return this.http.post('/login',{
username: username,password: password
},{
headers: new HttpHeaders()
.set('Content-Type','x-www-form-urlencoded')
}
);
不幸的是我的API说我发送了空的用户名和密码。
所以我决定向我的登录端点发一个邮递员请求,看看问题来自哪里,邮递员请求确实返回了用户名和密码。
为什么当我从邮递员发帖时我的API返回我的用户名和密码,当我从我的Angular应用程序发布时,我的API返回空值?有什么我想念的吗?
您将JSON数据发布到API而不是表单数据。
下面的
代码段应该可行。
login(username,password): Observable<any> {
const body = new HttpParams()
.set('username',username)
.set('password',password);
return this.http.post('/login',body.toString(),{
headers: new HttpHeaders()
.set('Content-Type','application/x-www-form-urlencoded')
}
);
}