我正在尝试使用Angular提供的HttpClient从rest端点加载数据。有问题的端点使用令牌来授权用户。
getData() {
if (this.token) {
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Bearer' + ' ' + this.token
})
};
this.http.get('https://some url', httpOptions).subscribe((res) => {
console.log(res);
}, (error) => {
console.log(error);
});
} else {
this.empty_token = true;
}
}
尝试执行此操作时出现以下错误: 预检的响应包含无效的HTTP状态代码401。
但是,相同的代码适用于某些适用于“http”的演示网址,而不适用于“https”。
我尝试使用Postman或任何其他RestClient请求使用相同的内容并且它工作正常。
答案 0 :(得分:0)
如果调用网址是http,则无法正常工作。 这可以帮助您https://angular.io/api/platform-browser/DomSanitizer
或试试这个
private httpOptions = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Bearer ' + this.token});
答案 1 :(得分:0)
你应该添加
"proxies": [
{
"path": "/v1",
"proxyUrl": "'https://some url'"
}
到你的项目。
您可以查看此链接https://github.com/mgechev/angular-seed/wiki/Add-a-Proxy-to-browsersync