我从 angular js 做 http.get
$http.get('/api/users?id='+userID)
此外,如果未经授权,我会使用 express js 的状态进行重定向
res.status(401).location('/login').end();
在响应数据中包含来自服务器 200 的响应和登录页面
为什么返回状态是 200 而不是 401 如何解决?
和我的 another question
最佳答案
您的 $http.get
正在等待响应,在您的情况下,这只是登录页面,而不是重定向指令。因此,您需要使用状态代码进行响应,然后在客户端重定向。
$http.get('/api/users?id='+userID).error(function(data, status){
if(status==401){
$window.location.href='/login';
}
});
在服务器端,如果他们没有被授权,就发送一个状态码。
res.status(401).end();
关于angularjs - 用angular js表达js重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36570938/