get_file_contents刷新div

时间:2010-01-15 18:15:05

标签: php ajax html refresh

我使用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>

2 个答案:

答案 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;
?>

然后,刷新过程如下所示:

  1. 您的用户按下按钮刷新div。

  2. 您的函数请求页面。

  3. 该页面仅返回div的内容。

  4. 您的函数会将div的内容替换为刚刚请求的页面。

  5. 还有其他方法可以做到这一点,这是一种非常直接的方法。


    如果你使用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。