我希望我的页面每隔几秒检查一次 PHP 文件是否返回“true”,并在 PHP 文件返回“true”时刷新某个 div。目前我有这个,它不起作用,并且适用于完整页面而不是 div (我希望仅刷新 div 而不是完整页面):
<script type="text/javascript">
$(document).ready(function(){
setInterval("checkTime()", 10000);
function checkTime(){
$.ajax({
url: 'checktime.php',
success: function(refresh){
if(refresh == "true"){
location.reload(true);
}
}
});
}
});
</script>
EDIT:
按照此处给出的说明,我将以下代码放入标题中:
$(document).ready(function(){
function checkTime(){
$.ajax({
dataType: 'json',
url: 'checktime.php',
success: function(data){
if(data.refresh == "true"){
$('#tv').load('tv.php');
}
}
});
}
setInterval(function() {checkTime()}, 10000);
});
我的电视 div 看起来像这样:
<div id="tv">
<? include 'tv.php' ?>
</div>
当我手动转到 checktime.php 并刷新索引时,电视 div 会在正确的时间正确更新。然而,标头中的 javascript 似乎没有发生任何事情。
当需要刷新时,您将需要一个 url 来发送 div html。以下会将内容从该 url 加载到您指定的 div 中。我在刷新文本中添加了一个修剪,以防服务器发送无关的空格或换行符
使用 jQuery AJAX 快捷方法 load()
http://api.jquery.com/load/ http://api.jquery.com/load/
$(document).ready(function(){
setInterval("checkTime()", 10000);
function checkTime(){
$.ajax({
url: 'checktime.php',
success: function(refresh){
if($.trim(refresh) == "true"){
$('#myDivID').load(refreshDivUrl)
}
}
});
}
});
编辑:实际上有一个更简单的逻辑。发送回“false”表示不刷新,否则发送回 html 并保存额外的调用以获取新的 html
$(document).ready(function(){
setInterval("checkTime()", 10000);
function checkTime(){
$.ajax({
url: 'checktime.php',
success: function(refresh){
if($.trim(refresh) != "false"){
$('#myDivID').html(refresh)
}
}
});
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)