среда, 26 января 2011 г.

Web. Мы похоже, но все же мы разные.

Речь пойдет о том, как помочь серверу различить казалось бы два одинаковых запроса.

Предположим такую ситуацию. Имеется возможность выбрать несколько значений, скажем, для фильтрации.
Пояснение:
Когда мы обращаемся к странице, мы не пишем параметры, т.е. никто сам не напишет: http://www.blogger.com/post?blogID=48276.

Так вот, мы вызываем первый раз страницу (параметров нет) и по умолчанию должны быть выбраны все значения в фильтре. Когда мы выбираем элемент в фильтре его значение передается в запросе на сервер и можно понять, что вернуть клиенту. Теперь пусть не один элемент не выбран на сервер в этом случае пойдет запрос без параметров, что похоже на загрузку первый раз и схоже, что выбраны все значения.

На этот случай в web-е есть прием которому лет 100. =)

Создаем скрытый элемент input: <INPUT TYPE=HIDDEN NAME=customerid VALUE="c2415-345-8563">

Пусть по умолчанию у него значение false: <input type=hidden name='deselect-all' value='false'>
Когда не один элемент фильтра не выбран при помощи javascript-a устанавливаем значение true. Включаем это поле в качестве параметра при отсылки запроса на сервер. Когда какой-то элементы фильтра выбран при помощи javascript-a устанавливаем значение false.
Вот и все решение. Если подумать головой, можно найти достойное применение этому методу.
Всего хорошего.

Комментариев нет:

Отправить комментарий