使用角度js

时间:2016-04-12 10:44:27

标签: angularjs http redirect express

我从angular js

做http.get
$http.get('/api/users?id='+userID)

此外,如果未经授权,我会使用快递js的状态重定向

res.status(401).location('/login').end();

来自服务器200的响应,其具有响应数据中的登录页面

为什么返回状态为200而不是401如何解决?

和我的another question

2 个答案:

答案 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();