Angular 4中带有标头的Http请求

时间:2017-10-25 13:27:18

标签: angular typescript httprequest

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

error screenshot

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

enter image description here

这是我使用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);
      });
  }

}

1 个答案:

答案 0 :(得分:0)

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

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

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