gleber1
@gleber1

Как починить не стандартные символы в node js?

У меня запросы get на поиск чего либо не уходят если к примеру писать так : сервер/необходимый_итем?парам1=abcd#2 343&парам2=%873467
При этом я понимаю что вряд ли у меня будут такие вообще записи в бд . НО все же хочется все предусмотреть, при то такие параметры в put/post работают как надо
.update({_id: req.params.id}, req.body , function(err,object){
            if (err)  res.json({"update":err});
            res.json({"update":"yeaah!!"});
        })

а вот
.find(req.query,function(err,object){
            if(object){
                res.json(object);
            }
            else {
                res.json({"object":"notFound"});
            }
        });

Тут ответ вот как раз {}
пусто
Зато
сервер/необходимый_итем?парам1=КрасивоИмя Без Инородных символов&парам2=и ТУут

Работает
Как все таки быть? если пользователь заполнит с символами(не говорите что можно сделать прегматчи/проверки)
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Ну, для начала, все, что после решетки считается якорем и на сервер тупо не уходит. Так что если у вас прямо такие запросы, как вы привели, то поэтому оно и не работает.

Вообще надо просто делать encodeURIComponent на клиенте, а сервер сам сделает decodeURIComponent. Если пользователь вручную наберет в адресной строке хреноту, то он ССЗБ.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы