Таймер refre sh страница в функции - PullRequest
1 голос
/ 13 июля 2020

В моей функции у меня есть ссылка на страницу sh в конце для фактического обновления таблицы, однако refre sh быстрее, чем база данных.

Кто-нибудь знает, как я могу это изменить ?

echo '<script>                                                                          ';
echo 'function updateId(id) {                                                             ';
echo 'var xmlhttp = new XMLHttpRequest();                                               ';
echo '    xmlhttp.onreadystatechange = function() {                                     ';
echo '        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)                     ';
echo '        {                                                                         ';
//echo '            alert(xmlhttp.responseText);                                          ';
echo '        }                                                                         ';
echo '    };                                                                            ';
echo '    xmlhttp.open("GET", "update.php?id=" +id, true);                              ';
echo '    xmlhttp.send();                                                               ';
echo 'location.reload(true);                                                                ';

echo '}                                                                                 ';
echo '</script>                                                                         ';
?>

1 Ответ

1 голос
/ 13 июля 2020

Обычно это происходит, когда DOM не загружен и до этого ваши другие задачи завершают свою работу (в случае, если ссылка на страницу sh). Чтобы решить эту проблему без какой-либо структуры, вы можете addEventListener.

echo '<script>';
echo 'document.addEventListener('DOMContentLoaded',function updateId(id) {';
echo 'var xmlhttp = new XMLHttpRequest();';
echo '    xmlhttp.onreadystatechange = function() {';
echo '        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)';
echo '        {';
//echo '            alert(xmlhttp.responseText);';
echo '        }';
echo '    };';
echo '    xmlhttp.open("GET", "update.php?id=" +id, true);';
echo '    xmlhttp.send();';
echo 'location.reload(true);';
echo '}';
echo '});';
echo '</script>           

Событие DOMContentLoaded запускается, когда исходный HTML документ был полностью загружен и проанализирован, не дожидаясь завершения sh загрузки таблиц стилей, изображений и подфреймов.

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