Задана обработка такого маршрута:
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
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть два слайдера на страницеМне нужно сделать, чтобы разница между их переключением была в 5 секунд, поочередно
В Java Script не силёнПытаюсь достать из JSON объекта data элемент