Проблема с получением параметров из адресной строки
У меня есть веб-страница с адресом, который содержит несколько параметров:
site.example.com/page.html?x=5&y=8&z=data1-data2-data3-data4
Мне нужно получить полное значение параметра z, но когда я пытаюсь его прочитать через JavaScript, получаю только первую часть data1. Остальная часть после дефиса почему-то не читается.
Как правильно извлечь все значение параметра из URL? Какой метод JavaScript лучше использовать для этой задачи?
проверь код на обрезание по дефису - обычно дефисы в url работают нормально. попробуй decodeURIComponent() после получения значения, браузер иногда странно обрабатывает символы. у меня была такая же фигня - нашел лишний split(‘-’) который все ломал. сделай console.log(window.location.search) и посмотри что реально приходит
Скорее всего проблема с кодировкой или парсингом. Попробуй URLSearchParams - он правильно обрабатывает все символы:
const params = new URLSearchParams(window.location.search);
const z = params.get('z');
console.log(z); // должно вывести data1-data2-data3-data4
Если не поможет, тогда проблема в формировании URL. Дефисы не должны мешать чтению параметров.
Может проблема в том, как ты парсишь параметры? С split('&') и split('=') дефисы работают нормально. Покажи свой код для чтения параметров - возможно, там ошибка.