Node.js在response.redirect之后保留URL哈希

时间:2014-06-20 00:40:30

标签: javascript node.js facebook-oauth

我已经使用window.location看到了许多针对此问题的JavaScript修复,但Node.js没有。

我使用OAuth将用户连接到Facebook。授权后,Facebook会重定向到您的回调网址并附加"# = "它。问题出在我的回调路由中,我重定向到另一个URL,但是URL片段(哈希)正在被转移。

这是我回归Facebook的路线:

exports.facebook_signin_complete = function(req, res)
{
    res.redirect('/profile');
};

如果我删除重定向,则网址为/auth/facebook/callback#_=_,如果我保留重定向,则网址为/profile#_=_。哈希为什么要继承?这是一个页面特定的锚标记,所以如果这是它应该做的事情,我会感到非常惊讶。

1 个答案:

答案 0 :(得分:2)

URL中的哈希只是客户端,因此您无法从服务器端修改它。 When I ran into the same problem我最后只是将window.location.hash = '';添加到我的初始JS文件的顶部。