Я работаю с приложением, которое позволяет пользователю вводить запрос в кодовое поле и отправлять его. Затем этот запрос отправляется в 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>)