Typescript(离子应用程序) - 基本身份验证不起作用

时间:2018-06-01 08:54:04

标签: angular typescript http ionic-framework basic-authentication

这是我的代码:

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。

请给我一些解决方案。

2 个答案:

答案 0 :(得分:0)

这是一个CORS问题。确保在您这边和服务器端都有这个标题:

headers.append('Access-Control-Allow-Origin' , '*');

(当然你可以指定你想要允许的内容,上面的行只是为你准备了一切)

答案 1 :(得分:0)

检查您的API是否具有CORS设置。您的API需要CORS预检检查的选项方法。 https://developer.mozilla.org/en-US/docs/Web/HTTP/CORShttps://developer.mozilla.org/en-US/docs/Glossary/Preflight_request