我写了一篇
Http Interceptor
角6。
目标是在以下情况下重新加载主页:
302 status
返回。(任何返回302状态的后端API)
我目前无法理解为什么
Interceptor
正在按现状行事。
代码如下:
@Injectable()
export class ResponseHandler implements HttpInterceptor{
constructor(){
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).pipe(
map((event: HttpEvent<any>) => {
if(event instanceof HttpResponse){
if(event.status === 302){
console.log('HttpResponse 302 status ');
window.location.reload();
return EMPTY;
}
}
})
)
}
}
实际行为:
1)我首先明确访问主页。
(e.g: /home)
2)但奇怪的是,最初的求家电话本身并没有发生。
3)似乎请求被阻止到达服务器。
4)当拦截器被移除时,这个初始调用正在发生。
(/home)
我不明白这是为什么?
为什么请求像我一样被阻止
不篡改
对于请求,它应该按原样传递到后端REST端点。
只有在
HttpResponse
返回时
302 error
代码。
有人能帮忙吗?