Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.06.2012, 20:13
Кандидат Javascript-наук
Отправить личное сообщение для Bebarr Swallow Посмотреть профиль Найти все сообщения от Bebarr Swallow
 
Регистрация: 17.03.2011
Сообщений: 113

Параметры из строки адреса
Как правильно получать "GET" параметры (те которые - http://anysite.com/?some=123&another=true)

До этого времени я использую только такой подход:
(location.href).match(/link=([^&]+)/)[1]


И ясное дело что это полный trash. Может есть встроенное средство?
Ответить с цитированием
  #2 (permalink)  
Старый 11.06.2012, 20:36
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

location.search даст вам строку запроса целиком (от вопроса включительно и далее). Но отдельные параметры (some, another) все равно придется выковыривать вручную.
Ответить с цитированием
  #3 (permalink)  
Старый 11.06.2012, 20:42
Кандидат Javascript-наук
Отправить личное сообщение для Bebarr Swallow Посмотреть профиль Найти все сообщения от Bebarr Swallow
 
Регистрация: 17.03.2011
Сообщений: 113

Сообщение от Amphiluke Посмотреть сообщение
location.search даст вам строку запроса целиком (от вопроса включительно и далее). Но отдельные параметры (some, another) все равно придется выковыривать вручную.
Ясно, спасибо.
Ответить с цитированием
  #4 (permalink)  
Старый 11.06.2012, 20:45
Кандидат Javascript-наук
Отправить личное сообщение для Bebarr Swallow Посмотреть профиль Найти все сообщения от Bebarr Swallow
 
Регистрация: 17.03.2011
Сообщений: 113

Мой результат такой:
var param = [], locSearch = location.search;
if(locSearch != "") {
  param = (locSearch.substr(1)).split("&");
  for(var x = 0; x < param.length; x++) {
    var temp = param[x].split("=");
    param[temp[0]] = temp[1];
  };
};


Только вот сразу отмечу что я пока не взял во внимание '#'. location.search не берет во внимание данные начиная с '#'. И это хорошо.

UPD: Вышло что-то очень смешное. В результате получился массив, в котором также содержаться объекты.

При обращении к переменной param через консоль:
param // return ["ech=1", "psi=OyLWT-qYJIzPsgbiwbnODw.1339433538360.3", "emsg=NCSR", "noj=1", "ei=OyLWT-qYJIzPsgbiwbnODw"]

В тоже время доступны и объекты:
param.psi // return "OyLWT-qYJIzPsgbiwbnODw.1339433538360.3"


Вот я и думаю - это хорошо или плохо? Добавить ли прилагательный массив?

Последний раз редактировалось Bebarr Swallow, 11.06.2012 в 21:04.
Ответить с цитированием
  #5 (permalink)  
Старый 11.06.2012, 21:02
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

Сообщение от Bebarr Swallow
Только вот сразу отмечу что я пока не взял во внимание '#'.
В каком смысле? Часть URL, которая содержит якорь, не включается в location.search.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уничтожение E-mail адреса. Duda.Ml1986@gmail.com Оффтопик 19 07.02.2012 13:07
Узнать номер строки таблицы по клику antserg jQuery 4 13.11.2011 13:46
Отфильтровать строки в таблице по заданным критериям Hag1989 Общие вопросы Javascript 0 03.12.2009 02:06
Сообщение при копировании строки адреса сайта ullltra Общие вопросы Javascript 2 19.11.2009 18:04
Для события onCLick получить индекс строки и объект грида. progi2007 ExtJS 4 05.08.2009 11:31