Использование местоположения.поиск, чтобы найти значение параметра


Я работаю над инструментом, который берет параметры значения в URL и делает с ними несколько вещей.

Моя проблема в том, что я не могу использовать документ.расположение для отображения конкретного значения im после, например:

Www.examplesite.com?yourname=gilgilad

Я хочу использовать документ.местоположение.найдите и поместите его в var, мне нужно, чтобы значение var было "gilgilad"

Я прочитал на месте.ищите в W3school и устали искать похожие вопросы здесь но вроде никого имеет эту специфическую потребность.

Это даже выполнимо с помощью location.искать? спасибо.

3 2

3 ответа:

location.search вернете ли вы все после знака вопроса, включая его. Таким образом, существует универсальный js для получения значения первого параметра (даже если url имеет больше параметров):

var desire = location.search.split("&")[0].replace("?","").split("=")[1]

Пример : возьмем url http://example.com?name=jon&country=us

  1. location.search будет равно ?name=jon&country=us
  2. .split("&")[0] разбивает его на две строки (?name=jon и country=us) и берет первую
  3. .replace("?","") удаляет ?, поэтому ?name=jon становится name=jon
  4. .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