我知道关于我要问的问题有很多问题和答案,但是没有一个能解决我的问题。
现在,我正在开发一个angular 5应用程序,并且试图通过将帖子发送到服务器来获取身份验证令牌。当我使用邮递员测试连接时,没有问题。但是在角度我得到以下错误
这是我到目前为止写的,
getAccessToken2() {
let url = "http://api.akilli.tv/oauth/token";
var headers = new HttpHeaders();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
headers.append('Accept', 'application/json');
let urlSearchParams = new URLSearchParams();
urlSearchParams.set('grant_type', 'password');
urlSearchParams.set('username', 'alikamilyagli@gmail.com');
urlSearchParams.set('password', '1234');
urlSearchParams.set('client_id', '2');
urlSearchParams.set('client_secret', 'Q5U9fclient*!secret*!clientsecret*!9SqUaH9sKro');
urlSearchParams.set('scope', '*');
let body = urlSearchParams.toString();
return this.http.post(url, body)
.subscribe((data: any) => {
console.log(data);
});
}
我还遇到了Access-allow-control-origin问题,并通过添加称为“ CORS”的chrome附加组件解决了该问题。有另一种更健康的解决方案吗?
已经提前感谢。
答案 0 :(得分:3)
尝试一下
const data = 'grant_type=password';
return this.http.post( url, data,
{headers: new HttpHeaders({'Accept': 'application/json'),
'Content-Type': 'application/x-www-form-urlencoded'})});