Как получить данные без обновления страницы между 2 и более страницами пользователя - PullRequest
0 голосов
/ 30 апреля 2020

Привет, я делаю страницу контроля прогресса на нашей фабрике. Я сделал систему с mysql, php ..

Все сделано, но мне интересно только одно:

На данный момент, если кто-то изменяет / добавляет / удаляет данные из системы, другие должны обновить страницу sh, чтобы увидеть новые данные ...

Как все может измениться без обновления sh любой страницы?

Есть ли способ для этого или документация et c?

Спасибо.

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Вы можете периодически обновлять свою страницу в фоновом режиме (без refre sh), используя javascript (точнее, jQuery 'ajax)

По сути, он отправляет запрос конечная точка (веб-адрес), а затем, когда результаты возвращаются, вызывает вашу функцию обратного вызова, чтобы делать все, что вы хотите с данными

Вы можете начать здесь https://www.w3schools.com/jquery/ajax_ajax.asp

Дополнительные пояснения

Это рабочий пример фонового асинхронного запроса с ajax, который представляет собой простую страницу, которая извлекает текущий курс обмена Bitcoin (из API * publi c) каждую секунду и отображает его.

Это действительно просто запустить и запустить, и он также имеет много дополнительных функций (таких как отправка пользовательских заголовков, отправка POST или других запросов, отправка данных в теле и т. д.). c.)

function fetchData() {
  $.ajax({
    url: 'https://api.coinranking.com/v1/public/coin/1',
    success: function(data) {
      $('#value').html(parseFloat(data.data.coin.price).toFixed(3));
      let d = new Date();
      $('#time').html(`${d.getFullYear()}/${(d.getMonth() + 1).toString().padStart(2, '0')}/${d.getDate().toString().padStart(2, '0')} ${d.getHours().toString().padStart(2, '0')}:${d.getMinutes().toString().padStart(2, '0')}:${d.getSeconds().toString().padStart(2, '0')}`);
    }
  })
}
$(document).ready(function() {
  fetchData();
  window.setInterval(fetchData, 1000)
})
.main {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.value {
  font-weight: bold;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='main'>
  <p class='title'>Current Bitcoin exchange rate:</p>
  <span class='value'><span id="value">0</span><span>$</span></span>
  <p>(As of <span id='time'></span>)</p>
  <div>
0 голосов
/ 09 мая 2020
$(document).ready(function(){

 load_folder_list();

 function load_folder_list()
 {
  var action = "fetch";
  $.ajax({
   url:"planlama_action.php",
   method:"POST",
   data:{action:action},
   success:function(data)
   {
    $('#folder_table').html(data);
   }
  });
 }

Я изменил код сверху вниз ... вот так:

$(document).ready(function(){

 load_folder_list();

 function load_folder_list()
 {
  var action = "fetch";
  $.ajax({
   url:"planlama_action.php",
   method:"POST",
   data:{action:action},
   success:function(data)
   {

    $('#folder_table').html(data);
    setInterval(load_folder_list,1000);
   }
  });
 }

И это сработало для меня .. Спасибо Амиру.

Но теперь проблема только в этом .. иногда этот код перестает работать на веб-странице ..

Это нерегулярно ... иногда работает идеально ... иногда становится очень медленным и т. д. c ...

Почему это может быть ? где ошибка? (Примечание: на этой странице я загружаю файл, меняю тексты и т. Д. c)

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