这是我的代码:
onClick() {
console.log("I am running...");
let headers: Headers = new Headers();
headers.append('Authorization', 'Basic ' + btoa("Userid:password") );
headers.append("Content-Type", "application/json");
let options = new RequestOptions({ headers: headers });
return this.http.get(this.url, options)
.map((response: Response) => {
console.log(response);
}).subscribe();
}
我收到错误: 401(未经授权)
对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:8100”访问。响应的HTTP状态代码为401。
请给我一些解决方案。
答案 0 :(得分:0)
这是一个CORS问题。确保在您这边和服务器端都有这个标题:
headers.append('Access-Control-Allow-Origin' , '*');
(当然你可以指定你想要允许的内容,上面的行只是为你准备了一切)
答案 1 :(得分:0)
检查您的API是否具有CORS设置。您的API需要CORS预检检查的选项方法。 https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS,https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request。