#javascript #url #url-parameters
#javascript #url #url-параметры
Вопрос:
Я пытаюсь использовать URLSearchParams для извлечения параметров url, значения которых зашифрованы AES. Но я заметил, что если значение содержит знак » «, URLSearchParams не дает правильного значения.
Например, если url ‘https://www.google.com/?data=a b ‘, URLSearcParams предоставляет данные как ‘a b’. Я использую приведенный ниже код.
var url = new URL('https://www.google.com/?data=a b')
url.searchParams.get('data')
Может кто-нибудь, пожалуйста, дайте мне знать, если есть какой-либо другой способ извлечь значения параметров url.
Ответ №1:
Вы должны использовать searchParams.append()
, чтобы правильно задать параметры строки запроса. Я создал простой объект со всеми ключами значениями, а затем вспомогательную функцию для правильного добавления содержимого объекта:
const url = new URL('https://www.google.com/')
const params = {
'data': 'a b',
'moarData': 'c d'
};
Object.entries(params).forEach(([key, val]) => url.searchParams.append(key, val));
console.log(url.searchParams.get('data'));
console.log(url.searchParams.get('moarData'));