2010-04-17 1 views
3

Здесь я говорю о страницах Список продуктов, где есть несколько фильтров, которые отфильтровывают список продуктов, появляющихся на странице, как типы продуктов, категорий ценовой диапазон и т.д.Для Ajax или не Ajax страницы листинга

У меня есть делали такие страницы с использованием как ajax, так и no ajax в прошлом.

Что мне нравится в использовании ajax на такой странице, так это то, что при выборе фильтров я обновляю только раздел, содержащий список продуктов. Нет необходимости обновлять всю страницу, что может привести к повторной загрузке изображений на верхней панели, баннерам и т. Д. И замедлению производительности пользователя. Способ Ajax, на мой взгляд, становится более компактным и отзывчивым с точки зрения пользователей.

Нижняя сторона для маршрута ajax для меня; поскольку состояния фильтра не поддерживаются в URL-адресе, я в конечном итоге поддерживаю их на сервере. Это усложняется, если я хочу обрабатывать сценарии с несколькими окнами, а также дорогостоящее сохранение такого состояния на серверной памяти для каждого сеанса.

Не использовать ajax и просто хранить все значения фильтра на url и обновлять страницу довольно просто, но роскошь освежения только в области, которая действительно нуждается в обновлении, теряется.

В последнее время я вижу много крупных сайтов электронной коммерции, которые используют не-аякс-подход на своих страницах листинга, и это заставляет меня задавать вопрос еще раз, если может быть более эффективным создание не-аякс-листинга из-за долговременного обслуживания легкости и жертвования немного от пользовательского опыта.

Я собираюсь приступить к внедрению новой страницы листинга для продукта, в котором у меня есть гибкость в любом случае, и я был бы признателен за ваши материалы.

+0

Я также хотел бы отметить, что для Ajax требуется JavaScript, поэтому вы должны учитывать возможность того, что конечные пользователи не имеют JS. –

ответ

0

Мне Ajax подходит только для небольших разделов страницы. Я думаю об этом как о том, сколько данных будет передано с этим запросом. Если вы хотите перенести большой листинг, то использование Ajax теряет свою эффективность, так как большая часть страницы перезагружается в любом случае.

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

Я нашел, что переход на не-Аякс будет самым простым. И вы можете получать очень отзывчивые страницы на основе настроек своего веб-сайта в web.config и IIS. Вы бы хотели убедиться, что у вас включено кэширование страниц для статических страниц в IIS, чтобы сократить перезагрузку css, изображений и js. Это позволит быстрее обновлять динамические страницы и дает иллюзию, что только область содержимого страницы перезагружается.

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

+0

Просто хочу указать здесь, что касается маленькой/большой части страницы; Несмотря на то, что раздел листинга продукта может показаться большой частью страницы, данные, которые передаются между сервером, могут быть очень эффективно минимизированы с использованием хороших объектов модели передачи данных, которые создаются с целью этого представления и содержат только свойства, которые необходимо только составить список. Например: имя, имя, цена – kaivalya

1

Обработка нескольких вкладок/окон в корпусе AJAX на самом деле не так уж сложна, если вы просто запишете состояние каждой вкладки в скрытых формах и передаете их обратно с запросами AJAX, а затем обновите их из ответов AJAX. Тем не менее, это не позволяет пользователям добавлять в закладки страницу с фильтром.

Между тем, чтобы не быть заклассифицированным, тенденция навигации на основе AJAX для разблокировки кнопки «Назад» и проблема пользователей, которые могут не иметь доступного/разрешенного javascript, я бы сказал, что по крайней мере изначально вышла не AJAX. Если вы действительно хотите сделать это с помощью AJAXy, сделайте его дополнительным усовершенствованием для простого HTML-решения - и того, что пользователи могут отключить, даже если они в состоянии его использовать.

Смежные вопросы