我需要在每个请求的标头中发送一个授权令牌,但是我找不到找到将参数设置到intercepetor.module.ts代码中的正确方法。
这是我的Angular Interceptor.module.ts的摘录
intercept(
req: HttpRequest<any>,
next: HttpHandler,
): Observable<HttpEvent<any>> {
console.warn("Loader Started - HTTP request: " + req.url);
let dupReq = req.clone({
setHeaders:{
'Content-Type' : 'application/json',
'Accept' : 'application/json',
'Authorization': "Basic "+ myToken
}
});
return next.handle(dupReq).pipe(
map(event => {
return event;
}),
catchError(error => {
return Observable.throw(error);
}),
finalize(() => {
})
);
}
当我在调试模式下进入Chrome的“网络”标签时,请求的标头没有变化,并且没有显示“授权”参数。
我尝试通过headers.append()
方法设置标头,它也没有区别。
答案 0 :(得分:1)
您可以尝试此操作,因为您需要Basic
授权:
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa(myToken)
})
};
答案 1 :(得分:0)
尝试一下:
const dupReq = req.clone({
setHeaders: {
Authorization: "Basic "+ btoa(myToken),
'Access-Control-Allow-Origin': '*'
},
})
答案 2 :(得分:0)
request.clone({
setHeaders: {
'Authorization': `Basic ${myToken}`
}
});