我从一个网站上获得了这个代码,我根据自己的需要进行了修改:
<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'; ?>
所以我希望在链接div中每隔5秒调用一次test.php。我怎么能这样做?
答案 0 :(得分:45)
试试这个。
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);
希望这有帮助。
答案 1 :(得分:6)
尝试使用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>
答案 2 :(得分:3)
尽量不要使用setInterval
在超时成功响应后,您可以向服务器重新发送请求
jQuery的:
sendRequest(); //call function
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);
}
});
}
答案 3 :(得分:2)
<script type="text/javascript">
$(document).ready(function(){
refreshTable();
});
function refreshTable(){
$('#tableHolder').load('getTable.php', function(){
setTimeout(refreshTable, 5000);
});
}
</script>
答案 4 :(得分:1)
你可以使用这个。
<div id="test"></div>
你的javascript代码应该是这样的。
setInterval(function(){
$('#test').load('test.php');
},5000);