Как декодировать параметр url с запросом sql - PullRequest
0 голосов
/ 04 августа 2020

Я работаю с приложением, которое позволяет пользователю вводить запрос в кодовое поле и отправлять его. Затем этот запрос отправляется в api, который запрашивает базу данных и отправляет результат. Обычный запрос без каких-либо вхождений знака% будет работать отлично, но как только запрос содержит какие-либо вхождения%, тогда URL-адрес кодируется (я думаю, с помощью функции выборки в javascript). Проблема в том, что decodeURI и decodeURIComponent не будут работать с операторами LIKE и операторами, имеющими такие вещи, как '% s' (например, printf). Он видит% s и%, за которыми следует похожая строка, как недопустимую кодировку и терпит неудачу. Мне было интересно, есть ли другой способ декодировать этот тип запросов sql? Я пробовал использовать модуль utf8, но он тоже не работает.

Вот мой оператор выборки:

fetch(`/api/isos/${this.iso}/` + endpoint)
  .then((response) => {
    return response.json();
  })
  .then((json) => {
    if(json.error)
      this.error = json;
    else 
      this[dataName] = json; 
  });

Вот ошибка, которую я получаю:

URIError: URI malformed
at decodeURIComponent (<anonymous>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...