Как получить параметры запроса URL в литерал объекта? - PullRequest
4 голосов
/ 21 июля 2009

Если посмотреть на location.search, как лучше всего взять параметры запроса и превратить их в литерал объекта? Скажем, у меня есть URL, который выглядит так:

http://foo.com? NodeId = 2 & 3 = идентификатор пользователя и SortOrder = имя и последовательность = Asc

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

var params = {
  nodeId : 2,
  userId : 3,
  sortOrder: name,
  sequence: asc
}

Так что я хотел бы сделать что-то вроде этого:

var url = location.search;
url = url.replace('?', '');
var queries = url.split('&');
var params = {};
for(var q in queries) {
var param = queries[q].split('=');
params.param[0] = param[1];

};

Но эта строка:

params.param[0] = param[1]

генерирует ошибку. Как вы перебираете эти ключи, если не знаете их названия?

Мы используем jQuery, и я уверен, что для этого есть плагин, но я все равно хотел бы понять, как это программировать.

Ответы [ 2 ]

3 голосов
/ 21 июля 2009

Вы должны использовать

params[ param[0] ] = param[1]

К вашему сведению, вы также можете использовать регулярное выражение .

1 голос
/ 22 июля 2009

Попробуйте плагин URL Utils jQuery , он делает именно это!

var params = $.queryString();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...