prependTo () внутри обратного вызова завершения load () не срабатывает при использовании setTimeout - PullRequest
0 голосов
/ 17 ноября 2018

Почему prependTo() внутри load() обратный вызов завершения не срабатывает при использовании setTimeout()? Он только повторяет load() result.php, но не выполняет $('#loadmore').prependTo('#boxchat');. В основном я использовал следующий код:

function requestmessage() {
    $('#boxchat').load('result.php', function(){
        $('#loadmore').prependTo('#boxchat'); 
    });
    setTimeout(requestmessage, 1000);
};
requestmessage();

Я хочу сделать result.php обновление в реальном времени, используя setTimeout() и prependTo() div(#loadmore) внутри div(#boxchat) одновременно. У кого-нибудь есть решение?

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

Проблема с .load(). Он заменит содержимое $('#boxchat') содержимым, полученным из result.php при каждом завершении. Вместо загрузки, вы можете попробовать использовать .ajax(), .get() или .post() (в зависимости от вашего варианта использования, .get() должно работать), а в случае успешного / полного обратного вызова, позвоните на prependTo()

0 голосов
/ 17 ноября 2018

Проверьте консоль браузера. Возможно, вызов load () обнаружил какое-то исключение (/ error), которое остановило выполнение скрипта, поэтому он даже не достиг вызова prependTo ().

Если вы используете Google Chrome - это будет Ctrl + Alt + J.

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