2013-04-14 32 views
9

Đang cố gắng làm mới dữ liệu được lưu trữ trong div mỗi 10 giây bằng jQuery.Làm mới div với dữ liệu php sau mỗi 10 giây bằng cách sử dụng jQuery

HTML code của tôi là:

<!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> 

Và mã PHP Tôi đang sử dụng (tạm thời như tôi biết điều này sẽ không thay đổi do sự giống nhau "dữ liệu"):

<?php 

    echo "test"; 

?> 

Tuy nhiên , nó thậm chí không hiển thị "kiểm tra" trên trang html .. bất cứ ai có thể đề xuất nơi tôi đã đi sai?

Rất cám ơn

Trả lời

9

Phương thức jQuery load hoạt động theo cách khác. Thử đọc số documentation.

Bạn không cần phải chỉ định ID yếu tố đến hai lần, loại bỏ cái thứ hai, như thế này:

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

Ah vâng mỗi fect, biết nó sẽ là một cái gì đó đơn giản! Cảm ơn nhiều! Một câu hỏi nhỏ khác, văn bản chỉ xuất hiện sau 10 giây đã trôi qua, có cách nào để nó xuất hiện ngay lập tức và sau đó làm mới sau 10 giây không? –

+1

@New_programmer Có rất nhiều cách để thực hiện việc này, hãy xem câu hỏi này: http://stackoverflow.com/questions/6685396/execute-the-first-time-the-setinterval-without-delay – Uby

4

Dưới đây là một cách mà sẽ giải quyết những gì bạn muốn đạt được, bằng cách sử dụng phương pháp $.get trong jQuery:

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

Nếu bạn muốn làm mới số lượng tin nhắn chỉ cần sử dụng mã này:

$(document).ready(function() { 
    setInterval(function() { 
     $("#ID").load(); 
    }, 1000); 
}); 
Các vấn đề liên quan