我正在尝试使用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') } ); }