Javascript 如何使用oAuth2令牌身份验证发出post请求
此代码不起作用:Javascript 如何使用oAuth2令牌身份验证发出post请求,javascript,angular,typescript,ionic-framework,ionic2,Javascript,Angular,Typescript,Ionic Framework,Ionic2,此代码不起作用: createRoute(FormRoute) { var body = "&name=" + FormRoute.name + "&description="+ FormRoute.description ; var headers = new Headers(); headers.append('Content-Type', 'application/x-www-form-urlencoded' ); headers.appen
createRoute(FormRoute) {
var body = "&name=" + FormRoute.name + "&description="+ FormRoute.description ;
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded' );
headers.append('Authorization', 'oauth ' + localStorage.getItem("access_token"));
return new Promise((resolve, reject) => {
this.http.post('url', body, {headers: headers})
.toPromise()
.then((response) =>
{
var res = response.json();
console.log(res);
resolve(response.json());
})
.catch((error) =>
{
var err = error.json();
console.error("err");
console.error(err["error_description"]);
let alert = this.alert.create({
title: 'Error',
subTitle: err["error_description"],
buttons: ['OK']
});
alert.present();
});
});
}
选项“”401(未经授权)
未能加载“”:飞行前的响应具有无效的HTTP状态代码401。我认为以下代码是罪魁祸首
this.http.post('url', body, {headers: headers})
我不认为您正在试图发布到http://url
因为这没有任何意义
将其更改为以下内容
this.http.post(url, body, {headers: headers})
在如下位置定义您的url:
var url = 'http://httpbin.org/'
希望这能有所帮助。您需要在服务器端配置CORS。您的意思是什么?研究CORS,您会理解的。我正在chrome上安装CRO,这不是问题所在。问题是如何在post请求中的头中发送令牌oauth2。问题是CORS。飞行前选项401始终是CORS:我像您一样添加url我得到错误(索引):1无法加载http://.../api/: 飞行前的响应具有无效的HTTP状态代码401。