Javascript.RU

Аналог массива GET на JavaScript

<script>
var url = "http://host/index.php?id=7&page=2&lang=ch#TheEnd"
var anchor = ""; // Эту строку не трогать
var GET = Array(); // Это пожалуй тоже
function parseGET(str){
str = str.split('?');
str = str[1];
if(str.indexOf('#')!=-1)
{
anchor = str.substr(str.indexOf('#')+1);
str = str.substr(0,str.indexOf('#'));
}
params = str.split('&');
for (i=0; i<params.length; i++)
{
var keyval = params[i].split('=');
GET[keyval[0]]=keyval[1];
}
return (GET);
};
GET = parseGET(url);
alert(GET['page']);
</script>

Автор не я.
Вот откуда брал: http://forum.php.su/topic.php?forum=46&topic=6

-1

Автор: Гость (не зарегистрирован), дата: 15 декабря, 2009 - 10:44
#permalink
str = str[1];

чтобы это сделать нужно проверить есть ли в массиве элемент с таким индексом. Просто URL может быть и без параметров.


Автор: Carzil, дата: 15 декабря, 2009 - 12:56
#permalink

АВТОР НЕ Я!!!!!


Автор: subzey, дата: 17 декабря, 2009 - 02:17
#permalink

А зачем тогда все это?

Кстати, строку запроса для текущей страницы можно узнать через location.search, для ссылки — ссылка.search.

И данные не декодируются: "%20" так и останется "%20" и в пробел не превратится.


Автор: Гость (не зарегистрирован), дата: 30 декабря, 2012 - 02:43
#permalink

Нормально. Вопрос: а если мне надо в адресе вместо вопросительного знака использовать знак решётки? Тогда условие "if(str.indexOf('#')!=-1) " надо удалить?


 
Поиск по сайту
Другие записи этого автора
Carzil
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Популярные таги
Последние темы на форуме
Forum