2013-04-14 10 views
9

Próbuję odświeżyć dane przechowywane w div co 10 sekund za pomocą jQuery.Odświeżenie div z danymi php co 10 sekund za pomocą jQuery

Moje HTML kod jest:

<!DOCTYPE html> 
<head> 
<title>Untitled Document</title> 

<script src="http://code.jquery.com/jquery-latest.js"></script> 

<script> 
    $(document).ready(function(){ 
     setInterval(function() { 
      $("#latestData").load("getLatestData.php #latestData"); 
     }, 10000); 
    }); 

</script> 
</head> 

<body> 
    <div id = "latestData"> 

    </div> 
</body> 
</html> 

I kod PHP używam (czasowo jak wiem, że to się nie zmieni z powodu tego samego "danymi"):

<?php 

    echo "test"; 

?> 

jednak , nawet nie pokazuje "testu" na stronie html. Czy ktoś mógłby zasugerować, gdzie popełniłem błąd?

Dziękujemy

Odpowiedz

9

jQuery load metoda działa w inny sposób. Spróbuj przeczytać jego documentation.

Nie trzeba określić docelowy id elementu dwukrotnie, wyjąć drugi, tak:

$("#latestData").load("getLatestData.php"); 
+0

Ach tak za Fect, wiedział, że to będzie coś prostego! Wielkie dzięki! Jeszcze jedno małe pytanie, tekst pojawia się dopiero po 10 sekundach, czy istnieje sposób, aby od razu się pojawiło, a następnie odświeżyło po 10 sekundach? –

+1

@New_programmer Istnieje wiele sposobów, aby to zrobić, spójrz na to pytanie: http://stackoverflow.com/questions/6685396/execute-the-first-time-the-setinterval- without-delay – Uby

4

Oto sposób, że rozwiąże to, co chcesz osiągnąć, stosując metodę $.get w jQuery:

$(document).ready(function() { 
    setInterval(function() { 
     $.get("getLatestData.php", function (result) { 
      $('#latestData').html(result); 
     }); 
    }, 10000); 
}); 
0

Jeśli chcesz odświeżyć liczyć wiadomość wystarczy użyć tego kodu:

$(document).ready(function() { 
    setInterval(function() { 
     $("#ID").load(); 
    }, 1000); 
});