Использование местоположения.поиск, чтобы найти значение параметра
Я работаю над инструментом, который берет параметры значения в URL и делает с ними несколько вещей.
Моя проблема в том, что я не могу использовать документ.расположение для отображения конкретного значения im после, например:
Www.examplesite.com?yourname=gilgilad
Я хочу использовать документ.местоположение.найдите и поместите его в var, мне нужно, чтобы значение var было "gilgilad"
Я прочитал на месте.ищите в W3school и устали искать похожие вопросы здесь но вроде никого имеет эту специфическую потребность.
Это даже выполнимо с помощью location.искать? спасибо.
3 ответа:
location.searchвернете ли вы все после знака вопроса, включая его. Таким образом, существует универсальный js для получения значения первого параметра (даже если url имеет больше параметров):var desire = location.search.split("&")[0].replace("?","").split("=")[1]Пример : возьмем url
http://example.com?name=jon&country=us
location.searchбудет равно?name=jon&country=us.split("&")[0]разбивает его на две строки (?name=jonиcountry=us) и берет первую.replace("?","")удаляет?, поэтому?name=jonстановитсяname=jon.split("=")[1]разбиваетname=jonнаnameиjonи принимает второе один. Готово!
Более общее решение для разделения местоположения.поиск параметров запроса и преобразование их в объект:
var a = location.search.split("&"); var o = a.reduce(function(o, v) { var kv = v.split("="); kv[0] = kv[0].replace("?", ""); o[kv[0]] = kv[1]; return o; }, {});
Сделать
?yourname=gilgiladиспользуя документ.местоположение.поиск:window.location.search = 'yourname=gilgilad';Вот jsfiddle: http://jsfiddle.net/t81k3bgc/
Убедитесь, что вы используете консоль, а затем
[run]. вот увидишь.:Для получения дополнительной информации: https://developer.mozilla.org/en-US/docs/Web/API/Window.location#Example_.235.3A_Send_a_string_of_data_to_the_server_by_modifying_the_search_property.3A
