【发布时间】:2019-06-21 19:48:17
【问题描述】:
我有一个 nodejs (express) 作为服务器端,一个 angular 6 作为客户端。在服务器中,我有一个中间件功能,可以进行会话检查。如果会话无效或不存在,我想向客户端发送响应,以便它可以对其做出反应。我想从服务器返回一个 401 的响应代码,并在客户端制作某种 listener\route-guard\HttpInterceptor,这样 - 它可以管理客户端中的情况(例如,将其重定向到登录页面) . 这是我在服务器中的代码:
router.use('/', (req, res, next) =>
{
if (!req.session.user)
{
res.status(401);
}
else{
next();
}
})
如何在 Angular 应用程序中捕捉\收听此响应?
【问题讨论】:
-
您有客户的请求代码吗?
-
@Maryannah,他问“我怎样才能在 Angular 应用程序中捕捉\收听这个响应?”我相信他在问一个与角度相关的问题。
-
@Riv 我的错,我专注于
I would like to send a response to the client so that it can react to it。我正在添加标签,您的解决方案是here -
如果您谈论的是 401 HTTP 错误,那么我想您希望您的用户在其任何请求引发 401 时重定向到登录页面。如果是这种情况,我建议您看看 HttpInterceptor 接口,当然还有 RxJS catchError
标签: angular angular-router angular-guards