То, что вы действительно хотите это jQuery URL Parser plugin.С помощью этого плагина, получить значение определенного параметра URL (для текущего URL) выглядит следующим образом:
$.url().param('foo');
Если вы хотите объект с именами параметров в качестве ключей и значений параметров в качестве значений, вы бы просто позвонить param()
без аргумента, например:
$.url().param();
Эта библиотека также работает с другими URL, а не только текущий:
$.url('http://allmarkedup.com?sky=blue&grass=green').param();
$('#myElement').url().param(); // works with elements that have 'src', 'href' or 'action' attributes
Поскольку это весь URL разборе библиотеки, вы можете также получить другую информацию из URL, как указанный порт, или путь, протокол и т.д.:
var url = $.url('http://allmarkedup.com/folder/dir/index.html?item=value');
url.attr('protocol'); // returns 'http'
url.attr('path'); // returns '/folder/dir/index.html'
Он имеет и другие функции, а также, проверить его homepage для более документации и примеров.
Вместо того чтобы писать свой собственный URI анализатор для этой конкретной цели, которые своего рода работает в самых случаях использовать фактический URI анализатор. В зависимости от ответа код из других ответов может возвращать 'null'
вместо null
, не работает с пустыми параметрами (?foo=&bar=x
), не может разобрать и вернуть все параметры сразу, повторяет работу, если вы повторно запрашиваете URL-адрес параметров и т. Д. .
Используйте фактический парсер URI, не придумывайте свои собственные.
Для тех, кто не любит jQuery, есть a version of the plugin that's pure JS.
взглянуть на HTTP : //stackoverflow.com/questions/901115/get-querystring-with-jquery/901144#901144 –
Причина, по которой вы получаете «неправильную последовательность URI», заключается в том, что большинство функций используют 'decodeURIComponent()'. Норвежские символы, скорее всего, были закодированы с использованием чего-то вроде 'escape()', и изменение вызова 'decodeURIComponent()' на 'unescape()' должно помочь. –
См. Мой ответ на современное решение: http://stackoverflow.com/a/19992436/64949 –