我从angular js
做http.get$http.get('/api/users?id='+userID)
此外,如果未经授权,我会使用快递js的状态重定向
res.status(401).location('/login').end();
来自服务器200的响应,其具有响应数据中的登录页面
为什么返回状态为200而不是401如何解决?
答案 0 :(得分:0)
您必须在客户端重定向用户。试试这个:
$http.get('/api/users?id='+userID).error(function(data, status){
if(status==401){
window.location.href='/login';
}
});
服务器端:
res.status(401).send({ hasError: true });
答案 1 :(得分:0)
您的$http.get
正在等待您的情况下只是登录页面的响应,而不是重定向指令。因此,您需要使用状态代码进行响应,然后在客户端重定向。
$http.get('/api/users?id='+userID).error(function(data, status){
if(status==401){
$window.location.href='/login';
}
});
在服务器端,如果他们未获得授权,只需发送状态代码即可。
res.status(401).end();