Не перезагружайте содержимое ajax при обратном нажатии

#javascript #jquery

#javascript #jquery

Вопрос:

Итак, в настоящее время я загружаю список записей с функцией бесконечной прокрутки. Я загружаю небольшое всплывающее окно с заголовком и содержимым в динамическом всплывающем окне ajax. При нажатии на статью URL меняется на website.com/news/newsID . Теперь, когда я нажимаю кнопку «Назад», список записей ajax перезагружается с самого начала. Я хочу сохранить все, что ajax уже загружено, чтобы при нажатии кнопки возврата браузера я хотел, чтобы это выглядело так, как будто нажата кнопка закрытия. В настоящее время моя загрузка post в ajax выглядит примерно так: :

 $.ajax({
    cache: true,
    type: 'GET',
    url: window.location.origin   '/'   newsId ,
    dataType: 'html',

    beforeSend: function() {
        //here the popUp UI is loading
    },

    success: function(data) {
//here the popUp UI is replaced with data
    },

  });
  

И ajax для бесконечной прокрутки выглядит примерно так:

 function ajaxget_Stories(postappendID, isPaginated) {
    $.ajax(
      {
        cache: true,
        type: 'GET',
        url: window.location.origin   location.pathname,
        dataType: 'html',
        success: function(data) {
          $('#'   postappendID).empty();
          var data = JSON.parse(data);
          $('#'   postappendID).append(data.html);

        },
      
        async: true,
      },
      0
    );
  
  }
  

Оба ajax работают нормально. Ожидайте, что нужной мне функциональности нет.
То, что я ищу, это что-то вроде этого:

  1. Всплывающее окно закрывается при нажатии кнопки «Назад». У меня есть событие / функция, доступная для закрытия всплывающего окна.
  2. Сохраняйте старое содержимое с бесконечной прокруткой ajax при повторном нажатии после загрузки содержимого.
  3. Верните URL-адрес к предыдущему при нажатии кнопки «Назад».

Любая помощь приветствуется. Спасибо!

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

1. кэш браузера сделает все волшебство за вас. не обращайте внимания на дополнительный запрос, сохраняйте свой код простым.

2. @philipp как вы думаете, что усложняет код? Текущий код не выполняет никакой «магии». Уточнение того, как я могу этого добиться? Спасибо

3. Просто говорю, что вам не нужно заботиться о кэшировании ответа с сервера. Браузер будет кэшировать все это, и вы можете безопасно перезагружать снова и снова.