我尝试设置一个角度拦截器,在进行headers
调用之前,每个请求都必须具有所有必要的HTTP和tokens
。早些时候,我在每个服务中都会这样做,但是现在我尝试使用HTTP拦截器来设置每个HTTP请求的头。
但是,在检查浏览器时,我找不到从应用程序发送的标题。这是我的密码:-
import { Injectable } from '@angular/core';
import {
HttpRequest,
HttpHandler,
HttpEvent,
HttpInterceptor,
HttpHeaders
} from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class MasterAPIInterceptor implements HttpInterceptor {
constructor() {}
intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
//const headers= new HttpHeaders();
const userToken = 'secure-user-token';
req.headers.set('content-type', 'application/json')
.set('Access-Control-Allow-Origin', '*');
req.headers.set('Authorization', `Bearer ${userToken}`)
const headerReq = req.clone({ headers: req.headers });
return next.handle(headerReq);
}
}
我哪里出问题了?
此外,是否有更明确的方法来检查标头是否被正确设置?
发布于 2022-02-08 11:38:50
原因是HttpHeaders.set
返回一个新对象。因此,您需要将对这个新对象的引用存储到某个变量中。在你的代码里你不会这么做的。
https://stackoverflow.com/questions/71033114
复制相似问题