Подготовка строк для передачи в запрос API (без специальных символов) - PullRequest
1 голос
/ 13 апреля 2020

Я столкнулся с некоторыми трудностями со строками и Fetch API. У меня есть компонент React, который принимает строку, устанавливает ее в переменную и затем создает переменную запроса, которую я могу передать в fetch().

Проблема заключается в учете специальных символов, вызывающих ответ 404. Вот несколько примеров строк, с которыми я работаю, и их желаемый вывод.

INPUT >>> DESIRED OUTPUT

Something's going on here >>> somethings-going-on-here

Dungeons & dragons >>> dungeons-%26-dragons

It's happening, right here >>> its-happening-right-here

У меня есть следующее регулярное выражение, но его пока нет (отсутствует преобразование & в %26 )

replace(/,?\s+/g, '-')

Я смотрел на использование функции encodeURIComponent, но, похоже, она не учитывает одинарные кавычки, вот как я попал в регулярное выражение.

1 Ответ

2 голосов
/ 13 апреля 2020

https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams

var params = new URLSearchParams();
params.set('param1',`Something's going on here`);
params.toString();

Вы также можете использовать библиотеку, которая позаботится о вас: https://www.npmjs.com/package/query-string https://www.npmjs.com/package/qs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...