Использование местоположения.поиск, чтобы найти значение параметра
Я работаю над инструментом, который берет параметры значения в 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