php 脚本解析 xml 文件并在div 内部的页面上打印输出:
<?php
$playlistUrl = 'http://url/to/playlist.xml';
$xmldata = file_get_contents($playlistUrl);
$xml = new SimpleXMLElement($xmldata);
foreach( $xml->trackList->track as $track ) {
echo $track->title .' - '. $track->annotation .'<br>';
}
?>
我想使用一些 AJAX 方法每 25 秒更新一次输出,而无需重新加载页面。我找到了一些设置时间间隔的代码示例:
// Poll the server each 60 seconds
window.setInterval(function()
}, 60000);
也
setInterval(function(){
SomeAjaxFunction();
}, 1000);
如何在我的情况下正确实施这一点?
在这里
查看我的答案。
在特定时间后刷新页面元素
我已经回答了如何在特定时间后重新加载div,您可以稍微调整一下以在时间间隔后继续重新加载。
基础知识如下。
<div id="reload">
//your PHP code and content are here.
</div>
和你的jQuery代码。
<script>
setInterval(function() {
$('#reload').fadeOut("slow").load('reponse.php').fadeIn("slow");
}, 10000);
</script>
setTimeout 在 X 秒后执行函数...然后,如果您将其递归,则在执行代码后,您将始终有 X 秒的等待时间。这比每 X 秒执行一次的 setInterval 更可取。
想想当服务器滞后并且 load() 需要几秒钟才能实际加载......好吧,现在动画已经超时了一半,并且正在重新加载/再次淡入淡出......
function loopy_function() {
// ajax call
// on success
setTimeout(loopy_function, 1000 * 10 );
}
这里的关键是只在已完成的响应上调用 setTimeout。