angularjs - 用angular js表达js重定向

标签 angularjs http redirect express

我从 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/

相关文章:

javascript - 类变化时的 Angular Action

javascript - 使用 ngStorage 进行 Protractor 测试

python - urlencode 值数组

java - RequestDispatcher.forward() 的树

java - 发送重定向响应不起作用时使 cookie 过期

javascript - 更改状态时延迟加载 Angular 组件脚本

javascript - Angular js : How to make make ajax call for directives to create options

php - Laravel 响应发送 android APK 文件

php - 在 php 中检测远程操作系统

bash - 同步保存stdout、stderr和stdout+stderr