Как сделать отдельный кеш для AJAX ответов?
Василий как-то в стародавние времена опубликовал крайне кошерное на мой взгляд решение для работы со страницами сайта на modx с использованием технологии AJAX.
Мне кажется такое дополнение к этому решение будет достаточно уместно.
А вот как правильно сделать отдельный кеш для страницы, которая вызывается через AJAX я пока разобраться не смог. Если кто-то уже справился с этой задачей и готов поделиться, буду крайне признателен.
Мне кажется такое дополнение к этому решение будет достаточно уместно.
<?php
/* params */
$isAjax = empty($isAjax) ? 'Получен аякс запрос' : $isAjax;
$noAjax = empty($noAjax) ? '' : $noAjax;
$noAJAXphldr = empty($noAJAXphldr) ? '' : $noAJAXphldr;
/* /params */
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
die($isAjax);
}
else
{
if(empty($noAJAXphldr))
{
return $noAjax;
}
else
{
$modx->setPlaceholder($noAJAXphldr,$noAjax);
}
}
Как вариант можно просто менять чанки в шаблоне. Но тогда встаёт вопрос об актуальности кеша. При смене шаблона она так же остаётся.А вот как правильно сделать отдельный кеш для страницы, которая вызывается через AJAX я пока разобраться не смог. Если кто-то уже справился с этой задачей и готов поделиться, буду крайне признателен.
Комментарии: 2
Страницу можно кэшировать сколько угодно, нельзя кэшировать сниппет который будет отвечать на запрос.
Потому что, если его закэшировать — сниппета уже не будет при запросе, будет только кэш от него, и ничего не сработает.
В последнее время я отправляю запросы на отдельные файлы — так быстрее, но там есть свои сложности.
Потому что, если его закэшировать — сниппета уже не будет при запросе, будет только кэш от него, и ничего не сработает.
В последнее время я отправляю запросы на отдельные файлы — так быстрее, но там есть свои сложности.
А что делать с плагином, если надо сменить шаблон страницы полностью для AJAX или к примеру мобильной версии?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.