如果用户未在 express.js 中进行身份验证,如何使用 put 方法重定向到登录页面?
How can you redirect to login page on put method if the user is not authenticated in express.js?
我想使用 $http.put 方法从 angularjs 页面更新数据库。
但是如果会话过期,它会在服务器上显示这些。
put 方法命中此路由
PUT /api/categories 302 12.381 ms - 46
未通过身份验证后重定向到此页面。
PUT /admin/login 404 14.374 ms - 4061
问题是,它没有转到登录页面,而是停留在同一页面上。重定向它应该是 GET /admin/login,
我可以将方法从 PUT 转换为 GET 吗,或者,
还有其他解决方法吗?
$http.put
是客户端 javascript AJAX 由 Angular 对服务器发出的调用。
(302) 仅当浏览器发出请求时才会发生重定向。
您需要做的是让您的客户端 Javascript 代码 告诉 浏览器进行重定向。这是通过重置 window.location
来完成的。在 $http.put
的错误回调中这样做:
$http.put(…).
success(function(){
…
}).
error(function(d,status){
if(status==404) window.location = '/admin/login';
});
我想使用 $http.put 方法从 angularjs 页面更新数据库。 但是如果会话过期,它会在服务器上显示这些。
put 方法命中此路由
PUT /api/categories 302 12.381 ms - 46
未通过身份验证后重定向到此页面。
PUT /admin/login 404 14.374 ms - 4061
问题是,它没有转到登录页面,而是停留在同一页面上。重定向它应该是 GET /admin/login,
我可以将方法从 PUT 转换为 GET 吗,或者, 还有其他解决方法吗?
$http.put
是客户端 javascript AJAX 由 Angular 对服务器发出的调用。
(302) 仅当浏览器发出请求时才会发生重定向。
您需要做的是让您的客户端 Javascript 代码 告诉 浏览器进行重定向。这是通过重置 window.location
来完成的。在 $http.put
的错误回调中这样做:
$http.put(…).
success(function(){
…
}).
error(function(d,status){
if(status==404) window.location = '/admin/login';
});