【问题标题】:Http request with header in Angular 4Angular 4中带有标头的Http请求
【发布时间】:2017-10-25 13:27:18
【问题描述】:

我目前正在尝试从后端获取 JSON 响应,但是当我执行 GET 请求时,我收到以下错误(参见第一张图片)。 预检响应包含无效的 HTTP 状态代码 401

但是我确定后端运行良好并且 url 和 header(token) 是正确的,因为 postman 确实返回了想要的结果(参见第二张图片)。

这是我使用 httpclient 和 httpclientmodule(在 appmodule.ts 中)的代码。我还添加了一个chrome插件(allow-control-allow-origin),它解决了之前的allow access-control-allow-origin错误。所以我个人认为我的标头有问题或与http请求有冲突。

import { Component, OnInit } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';



@Component({
  selector: 'app-process-category',
  templateUrl: './process-category.component.html',
  styleUrls: ['./process-category.component.css']
})
export class ProcessCategoryComponent implements OnInit {

  results: string[];

  constructor(private http: HttpClient) {
  }


  ngOnInit(): void {

    this.http.get('http://localhost:8084/LOGwearServer/Database/main/abstract?typeOne=PROCESSCATEGORIES&typeTwo=PROCESSCATEGORIES',
      {
        headers: new HttpHeaders().set('token', '994847565472878394039283578235')
      })
      .subscribe(data => {
        console.log(data);
      });
  }

}

【问题讨论】:

  • 我遇到了同样的错误请问这个问题是否已经解决了?

标签: angular typescript httprequest


【解决方案1】:

我认为您在发送令牌时错过了添加单词 Bearer,例如尝试像这样传递

headers: new HttpHeaders().set('token', 'Bearer 994847565472878394039283578235')

我有同样的问题,我通过传递这个词来解决它。

【讨论】:

  • 感谢您的回复。但是添加“Bearer”关键字并不能解决问题。
猜你喜欢
  • 2018-02-09
  • 1970-01-01
  • 2017-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 2013-08-03
相关资源
最近更新 更多