Angular 5 未发送 header

Angular 5 not sending header

我搜索了大量帖子,但无法完全找到 header 未在获取请求中传递的问题:

return this.httpClient.get(this.parseUrl(controller), {
  headers: new HttpHeaders({'Authorization': 'bearer ' + this.authService.getToken()}),
  params: this.parseURLData(data)
})
  .timeout(this.serverTimeout);

因此请求运行,添加了参数但缺少 headers?我在控制台中得到的是:

Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:en-GB,en-US;q=0.9,en;q=0.8
Access-Control-Request-Headers:authorization
Access-Control-Request-Method:GET
Connection:keep-alive
Host:h98t5z1
Origin:http://localhost:4200
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36

我也为 header 尝试过这种表示法,但仍然是空的:

let headers = new HttpHeaders().set('header1', hvalue1); 
headers = headers.append('header2', hvalue2);

Package.json

"dependencies": {
    "@angular/animations": "^5.2.0",
    "@angular/common": "^5.2.0",
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.0",
    "@angular/forms": "^5.2.0",
    "@angular/http": "^5.2.0",
    "@angular/platform-browser": "^5.2.0",
    "@angular/platform-browser-dynamic": "^5.2.0",
    "@angular/router": "^5.2.0",
    "bootstrap-css-only": "^4.0.0",
    "core-js": "^2.4.1",
    "moment": "^2.17.1",
    "roboto-fontface": "^0.6.0",
    "rxjs": "^5.5.6",
    "web-animations-js": "^2.3.1",
    "zone.js": "^0.8.19"
}

由于 header 存在,该请求在邮递员中有效。

有什么想法吗?

对我来说,这样工作

我希望能帮到你这个代码

public getUsers(): Observable<User[]> {

    let headers = new Headers();
    headers.append('x-access-token', this.auth.getCurrentUser().token);

    return this.http.get(Api.getUrl(Api.URLS.getUsers), {
      headers: headers
    })
      .map((response: Response) => {
        let res = response.json();

        if (res.StatusCode === 1) {
          this.auth.logout();
        } else {
          return res.StatusDescription.map(user=> {
            return new User(user);
          });
        }
      });
  }

我在 Android 和 Chrome 应用程序之间切换。 Android 需要我的机器在网络上的名称,Chrome 不适用于此但适用于本地主机。将我的 URL 更改为在 Chrome 中使用 localhost 就成功了。