使用HttpInterceptor
并出现403
错误时,我刷新令牌并导航回到上一个状态/路由器。到那时为止,这个概念还行得通。
问题是当(上一个)URL状态是具有表单字段的页面/组件时。当拦截器检测到403错误并返回此url状态时,如何保存表单数据?
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const router = this.injector.get(Router);
return next.handle(request)
.pipe(
catchError((error: HttpErrorResponse) => {
if ( error instanceof HttpErrorResponse ) {
if ( error.status === 403 ) {
.....
router.navigate([ this.activatedRoute.snapshot['_routerState'].url ]);
}
}
if (error.error instanceof ErrorEvent) {
....
}
return throwError(errMsg);
})
);
}