Node.js сохраняет хеш URL после response.redirect
Я видел много исправлений JavaScript для этого, используя window.location
, но ничего для Node.js.
Я использую OAuth для подключения пользователей к Facebook. После авторизации Facebook перенаправляет на ваш URL обратного вызова и добавляет к нему "#=". Проблема в маршруте обратного вызова, который я перенаправляю на другой URL, но фрагмент URL (хеш) переносится.
Это мой маршрут для обратного вызова Facebook:
exports.facebook_signin_complete = function(req, res)
{
res.redirect('/profile');
};
Если я удаляю перенаправление URL-адрес /auth/facebook/callback#_=_
и если я продолжу перенаправление URL-адрес /profile#_=_
, Почему хэш переносится? Это маркер привязки к конкретной странице, поэтому я был бы очень удивлен, если это то, что он должен делать.
1 ответ
Хеш в URL-адресе только на стороне клиента, поэтому вы не можете изменить его со стороны сервера. Когда я столкнулся с той же проблемой, я просто добавил window.location.hash = '';
к началу моего исходного файла JS.