我已经得到了一个特定的php代码,它从mysql中获取数据。我希望这个div每分钟刷新一次而不刷新整个页面。jquery刷新div
目前我使用这个,不能很好地工作
<div id="abc">
<?php
?>
</div>
window.setTimeout('location.reload()', 60000);
我已经得到了一个特定的php代码,它从mysql中获取数据。我希望这个div每分钟刷新一次而不刷新整个页面。jquery刷新div
目前我使用这个,不能很好地工作
<div id="abc">
<?php
?>
</div>
window.setTimeout('location.reload()', 60000);
您success
内做到这一点是使用jQuery.aja X从服务器获取数据,然后使用JavaScript/jQuery的理想方式函数来更新你的页面。
您仍然可以使用setTimeout
或同等产品来定期发出AJAX请求。
你可以给出一个示例代码 –
''setTimeout'应该在'success'函数内调用,以避免堆栈失败或意外长的请求。 – Flosculus
例如:http://www.w3schools.com/jsref/met_win_setinterval.asp –
有另一页上的PHP-代码(例如; loaddata.php),并有一个jQuery计时器执行它加载页面loaddata.php
Loaddata.php
<?php
echo "Hello World!";
?>
的函数
的index.php
<div id="data"></div>
<script>
$('#div').load("loaddata.php", function() {
window.setInterval("loadData", 60000);
});
function loadData()
{
$('#div').load("loaddata.php");
}
</script>
像这样:
function refreshContent() {
$.post(urlHere, { data here...}, success(data) {
//...manipulate DOM here...
}
}
setTimeout(refreshContent, 60000);
jQuery的Ajax的
file1.php
<?php
echo 'PHP content e.g. from database based on submitted request - '.$_POST['my-value'];
?>
file2.html
<div class="content"></div>
<a href="#" class="reload-data"> Refresh div </a>
<script>
$(function(){
$(".reload-data").click(function(){
$.post("file1.php", {my-value: "something"}, function(data){
$(".content").html(data);
});
});
});
setTimeout(function(){$(".reload-data").click();}, 60000);
</script>
的实施例对于这些情况我有时使用从文档
实施例:
<div id="result"></div>
<script type="text/javascript">
function refreshDiv() {
$('#result').load('ajax/test.html #container', function(){ /* callback code here */ });
}
setInterval(refreshDiv, 10000);
</script>
这将执行以下操作:
#result
元件是在当前页面ajax/test.html
#container
,并将其转储到#result
这就是它。一行代码虽然不如真正的ajax请求效率高,但它完成了这项工作。
至于要刷新的div内容,你需要看看setInterval方法每分钟和jQuery的load:
window.setInterval(function(){
$('#abc').load('PHPFile.php');
}, 1000);
和你的PHP脚本负载方法的URL部分提到必须能够以提供HTML格式的结果,该格式将被放置在给定的div(id:abc)
您必须使用Ajax。 – undefined
您必须使用AJAX – Joyal
...或者不推荐的iframe。 – undefined