我使用php get_file_contents 将内容加载到div中, 现在我想使用ajax刷新它,但我无法想象如何做到这一点。
示例代码:
<script>
function refreshmydiv(){
...
}
</script>
<div id="mydiv"> <? echo nl2br(htmlspecialchars($myfile)); ?> <div>
<a href="#" onclick="refreshmydiv();">Refresh My Div</a>
答案 0 :(得分:3)
所以,这是一种方法。首先,部分:
myrefreshfunction
此函数需要对refresh.php
或其他页面进行AJAX调用。然后,它应该用发回的html替换mydiv
的内容。
refresh.php
此页面需要返回div的HTML。它不需要返回整个页面,只需要返回div的内容。
在这种情况下,它只会回显get_file_contents
而没有别的。
离。
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>
然后,刷新过程如下所示:
您的用户按下按钮刷新div。
您的函数请求页面。
该页面仅返回div的内容。
您的函数会将div的内容替换为刚刚请求的页面。
还有其他方法可以做到这一点,这是一种非常直接的方法。
如果你使用jQuery,你的myrefreshfunction
基本上是一行代码:
$('mydiv').load('refresh.php');
答案 1 :(得分:1)
如果您使用Prototype JavaScript framework,可以这样做:
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
function refreshmydiv() {
new Ajax.Request('/ajax/getdivcontents.php', {
method: 'post' ,
onSuccess: function(request) {
$('mydiv').update(request.responseText);
}
});
}
</script>
<div id="mydiv"> <? echo nl2br(htmlspecialchars($myfile)); ?> <div>
<a href="#" onclick="refreshmydiv();">Refresh My Div</a>
当您单击“Refresh My Div”链接时,这将进行Ajax调用。 getdivcontents.php页面将创建您想要显示的HTML。