Задана обработка такого маршрута:
app.get('/users/:username', (req, res) => {
let username = req.params.username;
// ...
});
Всё работает, если никнейм username не содержит каких-то специальных символов. То есть при переходе по ссылке http://localhost/users/Don2Quixote в переменную username будет записано верное значение. Если же никнейм выглядит как-то так: new_user#0003, то часть "#0003" отбрасывается, в переменную username идёт только new_user.
Более того, если использовать req.originalUrl, вывод будет таким: /users/new_user; Смею предположить, нужно использовать URL Encode?
Что делать?
Всё, что следует после octothorpe (символ #), не отсылается на сервер (если речь про GET запрос). Оно доступно только на клиенте через window.location.hash, если речь про js.
Если у вас переменная содержит подобные спец.символы, то закодируйте с помощью чего-нить типо encodeURIComponent().
Или же передавайте их не через query.
Продвижение своими сайтами как стратегия роста и независимости