我在多个地方发现了此问题,但没有明确的解决方案。仅有一个get请求无法正常工作(401未经授权),但是当我查看调试器时,代码可以正常工作,而所有其他请求都可以正常工作。 Chrome和Firefox也可以正常工作,没有问题。
这是我的拦截服务:
@Injectable()
export class TokenInterceptor implements HttpInterceptor {
constructor(public auth: LoginService) {}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
// Get the auth header from the service.
let authHeader = this.auth.getToken();
if (!authHeader) {
authHeader = '';
}
let authReq: any;
// Clone the request to add the new header.
if (this.auth.isAuthenticated()) {
authHeader = authHeader.replace(/^"(.*)"$/, '$1'); // Remove quotes from token start/end.
authReq = request.clone({headers: request.headers.set('Authorization', 'Bearer ' + authHeader)});
} else {
authReq = request.clone({headers: request.headers.set('Token', authHeader)});
}
// Pass on the cloned request instead of the original request.
return next.handle(authReq);
}
}
有人建议吗?
答案 0 :(得分:0)
您只需要添加/
和api端点的末尾。例如,这将不起作用:
http://www.example.com/api/skill
但这将起作用:
http://www.example.com/api/skill/