Ajax в двойке $is_ajax

Раскажите подробнее

#1 16 сентября 2014 в 23:07
Расскажите, пожалуйста подробнее в шаблоне нашел такую переменную $is_ajax = $this->controller->request->isAjax();
Это можно теперь любой контент вызвать через AJAX или нет?
#2 16 сентября 2014 в 23:16
Это в контроллере так проверить можно что запрос пришел через аякс, а дальше обработать его. Например, если не аякс запрос, то показываем страницу 404… или выполняем что хотели. =)
#3 16 сентября 2014 в 23:29
Если передан в запросе заголовок HTTP_X_REQUESTED_WITH и он равен XMLHttpRequest, то $this->controller->request->isAjax() вернет true.
Иными словами, если вы запрашиваете страницу через штатные аякс запросы jQuery ($.ajax, $.post и т.п.) или иным образом передадите данный заголовок, то система пометит контекст запроса как аякс.
Кроме этого, если вы запросите любой url сайта при помощи аякс запроса, то выведется html результат работы вызванного контроллера и экшена, а не страница сайта целиком.

Это можно теперь любой контент вызвать через AJAX или нет?

jorgovich
Вы и раньше могли это делать.
#4 20 октября 2014 в 00:17
В принципе частично понял с аяксом, вопрос остался только с меню, можно ли вывести меню в таком виде: отображать только один активный пункт меню, а остальные пункты меню подгружать через аякс? Вопрос не принципиальный, так для саморазвития больше, решение у меня есть другими методами, просто интересно…
#5 20 октября 2014 в 09:33

… можно ли вывести меню в таком виде: отображать только один активный пункт меню, а остальные пункты меню подгружать через аякс?

jorgovich
Можно конечно, но не нужно =)
Смысл имеет выводить таким образом контент принципиально не нужный на странице, но к которому пользователь может обратиться в редких случаях (например подгружать какие-то данные о пользователе при клике на его аватарку в разделе где таких аватарок много) или подгружать основной контент страницы по мере его надобности (например при прокрутке страницы вниз). А заморачиваться с аяксом ради нескольких строк меню не стоит, они и так прогрузятся не создав заметной нагрузки ;)
#6 20 октября 2014 в 12:45
Актуально подобное с точки зрения СЕО для каталогов например

Есть раздел Игрушки и Велосипеды,
зайдя в раздел Велосипеды в его меню должны быть только ссылки на велосипеды
и одна активная ссылка на общий раздел игрушки,

а подкатегории игрушек уже должны грузиться по клику аяксом.

Таким образом оптимизируем ссылочное ядро, скрывая не релевантные ссылки в меню.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.