jQuery parse href для пар ключ-значение - PullRequest
2 голосов
/ 16 мая 2011

Я хочу иметь возможность извлечь пару пар ключ-значение (если они существуют) из href.Предположим, например, hrefs, как:

http://server/index.pl?foo=bar&baz=123
http://server/index.pl?foo=bar

В основном база может не существовать.Используя jQuery, я фиксирую эту функцию при нажатии, я хотел бы иметь возможность узнать, какие значения (если они существуют).

Спасибо

Ответы [ 3 ]

7 голосов
/ 16 мая 2011

Для этого можно использовать анализатор URL JQuery .Вот пример, где возвращается объект параметров:

$.url('http://allmarkedup.com?sky=blue&grass=green').param(); // returns { 'sky':'blue', 'grass':'green' }
2 голосов
/ 16 мая 2011

В прошлом я использовал для этого простую функцию:

var $_GET = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
function decode(s) {
    return decodeURIComponent(s).replace(/\+/g, " ");
}
$_GET[decode(arguments[1])] = decode(arguments[2]);
});

Тогда переменная $_GET содержит все.Например, $_GET.baz вернет 123.Вы также можете получить к ним доступ, например, $_GET["baz"], если вам нужно ввести строки с пробелами.

1 голос
/ 16 мая 2011

В сети можно найти множество решений, например, посмотрите parseUri .

...