res.redirect不会重定向Node / Express.js

时间:2016-02-03 16:25:25

标签: node.js express instagram instagram-api

我正在使用Express进行我的网络应用,并且我正在检查会话中是否存在某些值,将用户重定向到Instagram登录页面。但是在控制台中我一直得到302代码,浏览器没有重定向用户这里是我的代码。我使用Ajax发送请求。

    function requireLogin (req, res, next) {
     if (!req.token) 
        res.redirect('/auth');
     else 
        next();      
    };

 app.get('/auth',function(req,res,next){
   res.redirect("https://api.instagram.com/oauth/authorize/?client_id="+client_id+"&redirect_uri="+redirect_uri+"&score=public_content+likes+comments+follower_list+relationships&response_type=code");
});

我检查过,app.get(' / auth')被调用但似乎第二次重定向到Instagram并没有做任何事情。

2 个答案:

答案 0 :(得分:2)

问题是如果您使用的是Ajax,res.redirect不会重定向用户。所以我将url传递给客户端并使用了window.location.replace(url);

答案 1 :(得分:0)

您使用的是Ajax吗?如果是,则不能直接重定向,而是发回URL,前端将重定向到服务器发送的URL。