大家好。我想请求获得令牌。但这不起作用
const url = "http://localhost:50729/token", body = 'username=admin&password=admin&grant_type=password';
const requestHeader = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded'});
this.http.post(url, body, { headers: requestHeader }).toPromise().then(res => {
//result
console.log(res.json());
}).catch(x => alert("Username Or PassWord Incorrect!"));
哪里错了?如何使其工作!谢谢大家!
答案 0 :(得分:0)
第一点是,如果您使用的是@@ angular / common / http中的HttpClient,则无需执行res.json()
,因为它不再需要了(因为我想是angular v4.3)< / p>
第二点是您可能正在尝试发送FormData
。试试:
const body = new FormData();
body.append('username', 'admin')
body.append('password', 'admin')
body.append('grant_type', 'password')
第三点试图将Content-Type
设置为undefined
,以使HttpClient根据正文参数自动设置标头。
应该的。