Как я могу обновить индекс данных с ajax jquery? - PullRequest
0 голосов
/ 05 января 2020

У меня есть и массив данных методом ajax get. Я вывожу эти данные по номеру индекса как data [0]. для получения следующих данных я нажимаю кнопку и мне нужно обновить индекс «здесь 0» в данных, чтобы получить данные [1] и так далее. Вот мой код, который я протестировал с определением идентификатора после .done, но он не работает.

     $.ajax({
        url: `/ajaxweblog`,
        id: 0,
      }).done(function (data) {

        $("#rast").on('click', function () {
          this.id += 1;
        });
        $(".title-of").html(data[this.id]['title']);
        $(".subtitle-of").html(data[this.id]['subtitle']);
        $(".thearticel").html(data[this.id]['body']);
        $(".article-img").attr('src', '/images/articles/' + data[this.id]['image']);
      })

Ответы [ 2 ]

2 голосов
/ 05 января 2020
let index = 0;
let data;

function updateDOM() {
  $('.title-of').html(data[index]['title']);
  $('.subtitle-of').html(data[index]['subtitle']);
  $('.thearticel').html(data[index]['body']);
  $('.article-img').attr('src', '/images/articles/' + data[index]['image']);
}

$("#rast").on('click', function() {
  index += 1;
  // check if the data variable has been assigned a value and if the next index exists
  if (data && data[index]) {
    updateDOM();
  }
});

// 'id' is not a valid key for the $.ajax settings object
$.ajax({
  url: '/ajaxweblog'
}).done(function(res) {
  data = res;
  updateDOM();
});
0 голосов
/ 05 января 2020

Сначала удалите код дескриптора клика, который вы вставили в «.done»

$("#rast").on('click', function () { this.id += 1; });, затем вам нужно сохранить копию объекта ответа и, нажав кнопку (или изменить идентификатор), вы необходимо передать обновленные JSON данные для таблицы для отображения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...