在php中刷新网页的一部分

时间:2009-07-20 13:20:53

标签: php ajax

我开发了一个页面,我需要刷新网页的一部分,而不是使用Ajax在php中整个网页。请提前帮助我做这件事

4 个答案:

答案 0 :(得分:38)

PHP无法做到这一点,只有像JavaScript这样的客户端语言才能做到。话虽如此,jQuery library允许您使用AJAX functionality轻松完成此操作。

<强>的index.php

<div id="scores"><!-- score data here --></div>

可以使用以下JavaScript刷新:

$("#scores").load("index.php #scores");

这会在不刷新整个页面的情况下再次从索引加载#score的内容。

您甚至可以使用setInterval();

自动将其每30秒刷新一次
var $scores = $("#scores");
setInterval(function () {
    $scores.load("index.php #scores");
}, 30000);

您可以在http://api.jquery.com/load/#loading-page-fragments了解有关$.load()的更多信息。

答案 1 :(得分:3)

以下是使用PrototypeJS的基本示例。

new Ajax.Updater('containerId', '/url/to/get/content', {
  parameters: { somename: 'somevalue' }
});
  • 第一个参数是用于放置Ajax调用结果的容器的ID。
  • 第二个参数是将请求发送到
  • 的URL
  • 第三个参数,最基本的形式,是要发送到URL的参数列表。

有关Prototype Ajax请求的更多详细信息,请查看Ajax.Request文档。

Jonathan's好的jQuery回答中获取页面,以下是使用Prototype的PeriodicalExecuter在计时器上执行Ajax请求的方法。

new PeriodicalExecuter(function(pe) {
    new Ajax.Updater('containerId', '/url/to/get/content', {
      parameters: { somename: 'somevalue' }
    });
}, 30);

答案 2 :(得分:1)

有一个很好的指南,说明XMLHttpRequest对象如何在http://www.jibbering.com/2002/4/httprequest.html上工作

您只需要使用它,无论您想要触发刷新的任何条件,以及只输出您关注的数据的PHP脚本。

答案 3 :(得分:1)

最快的方法是使用jquery加载函数

假设您要更改的内容位于div

然后你可以简单地说:

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>

<script type="text/javascript">

$().ready(function() {
$("#dynamic").load("http://url/to/the/dynamic/data");
});

</script>