刷新php输出而不重新加载页面

刷新php输出而不重新加载页面,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,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 .' -

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>';
}
?>


在我的案例中,如何正确实施这一点

在这里查看我的答案

我已经回答了如何在特定时间后重新加载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更可取

想想当服务器滞后时,实际加载需要几秒钟的时间。。。现在动画已超时一半,正在重新加载/淡入淡出

function loopy_function() {
    // ajax call
    // on success 
    setTimeout(loopy_function, 1000 * 10 );

}

这里的关键是只在完成响应时调用setTimeout

这很有效,谢谢。setInterval是一个标准的JavaScript函数,不是jQuery的一部分?@fxgreen它是否是jQuery的一部分并不重要,因为jQuery本身就是JavaScript。所以在jQuery中使用本机javascript是完全可以的。顺便说一句,如果它对你有帮助,那么你可以把这个标记为已回答。只是想弄清楚:脚本应该放在哪里,在头部还是在身体?在重新加载页面后,在显示输出之前还有大约10秒的延迟。我更喜欢将javascript代码保留在head标记中。如果你把它放在头上,一定要把代码包装在$document.readyfunction{/**你的jQuery代码在这里**/}关于十秒钟的延迟,我不确定是什么原因造成的,除非我看到你的php代码。把它作为一个新问题发布,并在这里给我链接。如果这对你有帮助,你也应该将其标记为已接受。这是你至少能做的。
<script>
setInterval(function() {
    $('#reload').fadeOut("slow").load('reponse.php').fadeIn("slow");
}, 10000);
</script>
function loopy_function() {
    // ajax call
    // on success 
    setTimeout(loopy_function, 1000 * 10 );

}