HttpHeaders-授权-用户名:密码-不起作用

时间:2019-04-23 10:28:43

标签: angular

我的标题有问题-如果密码为空,应该这样吗? 将会有另一种方法,因为那对我不起作用

非常感谢您

constructor(private http: HttpClient) {
}

getUsers() {
    const headers = new HttpHeaders();
    headers.set('Authorization', 'Basic ' + btoa('Usermame' + ':' + ''));

    this.http.get(this.url, { headers })
        .subscribe(
            data => console.log(data),
            err => console.log(err)
        );
}

我的代码有错误吗?

这是结果

请求方法:GET 状态码:401 远程地址:168.63.53.239:443 推荐人政策:降级时不推荐人 访问控制允许标题:授权,x-goog-authuser 访问控制允许方法:POST,GET,OPTIONS,PUT,DELETE 访问控制允许来源:* 允许:POST,GET,OPTIONS,PUT,DELETE

2 个答案:

答案 0 :(得分:0)

我相信这实际上是由于Angular发送的预检请求而发生的。需要在服务器API上启用CORS。您可以在下面的链接上阅读有关CORS的信息...

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

希望这会有所帮助!

答案 1 :(得分:0)

这是一个解决方案

getUsers() {
    const url = 'Your URL';

    const headers = new HttpHeaders()
        .set('Authorization', 'Basic ' + btoa('username' + ':' + 'password'));

    return this.http.get(url, {headers});
}

HttpHeaders类表示HTTP请求的标头配置选项。应当假定实例具有惰性分析,是不可变的。