AJAX jQuery обновить div каждые 5 секунд

17

Я получил этот код с веб-сайта, который я изменил для своих нужд:

<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
</head>

<div id="links">

</div>

<script language="javascript" type="text/javascript">
var timeout = setTimeout(reloadChat, 5000);

function reloadChat () {
$('#links').load('test.php #links',function () {
        $(this).unwrap();
        timeout = setTimeout(reloadChat, 5000);
});
}
</script>

В test.php:

<?php echo 'test'; ?>

Поэтому я хочу, чтобы test.php вызывался каждые 5 секунд в ссылках div. Как я могу сделать это правильно?

    
задан user3838972 22.08.2014 в 14:04
источник

5 ответов

31

Попробуйте это.

function loadlink(){
    $('#links').load('test.php',function () {
         $(this).unwrap();
    });
}

loadlink(); // This will run on page load
setInterval(function(){
    loadlink() // this will run after every 5 seconds
}, 5000);

Надеюсь, что это поможет.

    
ответ дан Yunus Aslam 22.08.2014 в 14:08
источник
5

Попробуйте использовать setInterval и включите jquery library и просто попробуйте удалить unwrap()

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">

var timeout = setInterval(reloadChat, 5000);    
function reloadChat () {

     $('#links').load('test.php');
}
</script>

ОБНОВЛЕНИЕ

вы используете старую версию jquery, поэтому включите последнюю версию jQuery

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    
ответ дан Kanishka Panamaldeniya 22.08.2014 в 14:08
источник
2
<script type="text/javascript">
$(document).ready(function(){
  refreshTable();
});

function refreshTable(){
    $('#tableHolder').load('getTable.php', function(){
       setTimeout(refreshTable, 5000);
    });
}
</script>
    
ответ дан Elamparuthi 23.01.2016 в 06:38
источник
1

вы можете использовать этот.

<div id="test"></div>

у вас должен быть код java-скрипта.

setInterval(function(){
      $('#test').load('test.php');
 },5000);
    
ответ дан Maneesh Singh 22.08.2014 в 14:22
источник
1

Попробуйте не использовать setInterval.
 Вы можете отправить запрос на сервер после успешного ответа с таймаутом.
JQuery:

SendRequest (); // вызов функции

function sendRequest(){
    $.ajax({
        url: "test.php",
        success: 
          function(result){
           $('#links').text(result); //insert text of test.php into your div
           setTimeout(function(){
          sendRequest(); //this will send request again and again;
           }, 5000);
        }});
});
    
ответ дан Dudar Mykola 28.04.2017 в 10:06
источник