我目前正在尝试从后端获取 JSON 响应,但是当我执行 GET 请求时,出现以下错误(参见第一张图片)。 预检响应具有无效的 HTTP 状态代码 401
但是我确定后端运行良好并且 url 和 header ( token )是正确的,因为 postman 确实返回了想要的结果(见第二张图片)。
这是我使用 httpclient 和 httpclientmodule(在 appmodule.ts 中)的代码。我还添加了一个 chrome 插件(allow-control-allow-origin),它解决了之前的 allow access-control-allow-origin 错误。所以我个人认为要么是我的header有问题,要么是和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);
});
}
}
最佳答案
我认为您在发送 token 时错过了添加单词 Bearer 例如尝试像这样传递
headers: new HttpHeaders().set('token', 'Bearer 994847565472878394039283578235')
我遇到了同样的问题,我通过传递这个词解决了它。
关于angular - 在 Angular 4 中带有 header 的 Http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46933731/