При загрузке данных с php на страницу, которая автоматически обновляется, не запоминается, что строка была скрыта клиентским устройством

#javascript #php #html #jquery #ajax

Вопрос:

У меня есть досадная проблема, когда после того, как клиентское устройство скрыло данные с помощью:

 echo "function hideReq"; echo $row['requestID']; echo "() {"; echo "var x = document.getElementById('play"; echo $row['requestID']; echo "');"; echo "if (x.style.display === 'none') {"; echo "x.style.display = 'block';"; echo "} else {"; echo "x.style.display = 'none';"; echo "}";  

Приведенный выше код динамически добавляет скрипт через тот же PHP, который добавляет данные идентификатора, чтобы на данные каждого идентификатора мог влиять сам скрипт.

Он отключается после обновления данных с помощью php с помощью:

 $(document).ready(function(){ function getData(){ $.ajax({ type: 'POST', url: 'locationData.php', success: function(data){ $('#dataoutput').html(data); } }); } getData(); setInterval(function () { getData();  }, 120000); // it will refresh your data every 3 mins });  

Приведенный выше код получает данные из внешнего PHP-документа, который добавляется в div на странице после 3-минутного восстановления.

Чтобы уточнить, код работает так, как ожидалось. Как только время восстановления обновления будет достигнуто, данные загрузятся так, как и должно быть. Однако скрытые строки снова видны.

Мне просто нужно знать, как либо;

  1. Сделайте так, чтобы данные запрашивали только данные с идентификаторами, которых еще нет на устройстве, чтобы оно могло запоминать скрытые строки
  2. Добавьте метод, который по-прежнему будет обновлять все данные, а также скрывать строки. В зависимости от того, что проще.

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

1. Как вообще что-то скрывается? http не имеет состояния, но вы можете сохранить некоторое состояние страницы либо на сервере, либо в локальном хранилище каждого пользователя и использовать скрипт для фильтрации видимости

2. Вы не спрашивали, но пытаться управлять javascript с помощью эхо-операторов PHP, особенно когда они разбиты, как это, — это кошмар. Нет причин, по которым вы не можете использовать эту функцию javascript для своих страниц как встроенную, так и во внешнем файле .js. Просто введите аргументы функции.