使用OPTIONS方法未随HTTP请求角度6发送授权标头

时间:2018-07-22 18:15:12

标签: angular cors http-headers angular6

在使用角度代码发送发布请求时,出现401错误,当我检查网络请求时,我发现未随发布请求一起发送标头,请参见图片:

auth.service.ts

login(username: string, password: string) {
    let httpHeaders = new HttpHeaders({
      'Authorization': 'Basic bXktdHJ1c3RlZC1jbGllbnQ6c2VjcmV0',
      'Content-Type': 'application/json'
    });
    let options = {
      headers: httpHeaders
    };
    this.http.post(
      'http://localhost:8080/SpringSecurityOAuth2Example/oauth/token?grant_type=password&username=bill&password=abc123',
      null,
      options
    ).subscribe(res => {
      console.log(res);
    },
      err => {
        console.log(err);
      }
    );
}

请求缺少标题

enter image description here

尽管我的服务器上启用了CORS,所以似乎没有CORS问题

enter image description here

1 个答案:

答案 0 :(得分:0)

let options = {
  headers: httpHeaders
};

这应该是RequestOptions对象,而不是普通对象。 Angular HttpClient无法识别它。更改为

let options = new RequestOptions({ headers: headers });