Поведение кнопки «Назад» на странице ajax и не-ajax с одним и тем же URL-адресом

У меня есть две версии контента (ajax и не-ajax) по одному URL-адресу. Одна версия с визуализированным макетом для не-ajax-запросов, а вторая ajax-версия — это просто сам контент без макета. Проблема в том, что браузеры (chrome/firefox), похоже, не различают запросы ajax/non-ajax при извлечении страниц из кеша. Если я нажму кнопку «Назад». Бывают ситуации, когда я загружаю не-ajax-версию, затем просматриваю, а затем, когда я возвращаюсь обратно (неоднократно нажимая кнопку «Назад»), я получаю ajax-версию («неформатированную»), потому что это версия, хранящаяся в данный момент в кеше. Это известная проблема? Нужно ли различать запросы ajax и не-ajax в URL-адресах, например. от ?ajax=1?


person clime    schedule 18.09.2013    source источник


Ответы (1)


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

$.ajax
  type: "GET"
  dataType: "json"
  cache: false
  url: self.url
  success: (data) ->
    #do something
person jona    schedule 17.12.2013