我开发了一个页面,我需要刷新网页的一部分,而不是使用Ajax在php中整个网页。请提前帮助我做这件事
答案 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()
;
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' }
});
有关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>