#javascript #get
Нужно получить из урл значение get параметра "data", каким образом это можно реализовать?
Ответы
Ответ 1
Свойство window.location содержит объект со свойством search – строка, начиная со знака вопроса. Напр., адрес https://site.com/script?param=val&data=ololo и JS код: var strGET = window.location.search.replace( '?', ''); // в переменной strGET будет строка "param=val&data=ololo" Дальше разбить по символу & и по знакам =. Также пригодится ф-я decodeURIComponent() для декодирования из urlencode значения параметра. Полное решение по получению всех GET-параметров в JavaScript может быть таким: var params = window .location .search .replace('?','') .split('&') .reduce( function(p,e){ var a = e.split('='); p[ decodeURIComponent(a[0])] = decodeURIComponent(a[1]); return p; }, {} ); console.log( params['data']); // выведет в консоль значение GET-параметра dataОтвет 2
Если я правильно понял, что вы хотите сделать var params = {}; if (window.location.href.match(/.*\?.*/)) { for (var i = 0; i < tmp_params.length; i++) { var _tmp = window.location.href.replace(/.*\?/,'') .split('&')[i] .split('='); params[_tmp[0]] = _tmp[1]; } } alert(params.data);Ответ 3
location.href позволяет получить текущий адрес страницы. Чтобы получить параметр, можно применить регулярное выражение, либо использовать такой хак: var parser = document.createElement('a'); parser.href = location.href; Будут доступны некоторые свойства, например, parser.protocol, parser.hostname, parser.search и подобные. Также наверняка есть библиотеки для удобной работы с URI.
Комментариев нет:
Отправить комментарий