刷新包含的页面

时间:2017-04-03 18:15:37

标签: php jquery ajax

我有一个页面index.php 在它的内部是一个友好列表,它通过单击按钮更新数据库而不刷新页面。现在我希望只有朋友列表刷新,以便更新

<html>
<body>
<?php
            include ("friendlist.php");
?>
</body>
</html>

friendlist.php:

<script>
function adduser() {

    var data=$("#adduserform").serialize();
                $.ajax({
                    type: "POST",
                    url: "addfriend.php",
                    data: data,
                    dataType: "html",
                    success: function(data)
           {
               //refresh myFriendlist or requser so its updated
           }
                });
}


</script>

<div id="myFriendlist" class="friendlist-content">
    <?php if(!empty($request)) { ?>
    <div id="req">
    <h2 id="reqh">Anfragen</h2>
    <?php foreach($request as $row) {
    $row['userAname'] = (strlen($row['userAname']) > 5) ? substr($row['userAname'], 0, 5) . '...' : $row['userAname'];
    ?>
    <div id="requser">
        <a class="reqimg" style="padding:0px;" href="user.php?id=<?php echo ($row['id']);?>">
            <img  class="reqpb" src="./users/<?php echo ($row['userAid']); ?>/pb.jpg" alt="Bild nicht gefunden" onerror="this.src='./img/no_pb.png';"></img>
        </a>
        <a class="reqnm" style="padding:0px;" href="user.php?id=<?php echo ($row['userAid']);?>"><?php echo $row['userAname']; ?></a>

        <a href="javascript:adduser();" id="accept" title="Aktzeptieren"><img id="aimg" src="./img/accepticon.png"></a>
        <form id="adduserform" name="adduserform">
                <input type="hidden" id="reqid" name="reqid" value="<?php echo $row['userAid'];?>" />
                <input type="hidden" id="reqnm" name="reqnm" value="<?php echo $row['userAname'];?>" />
        </form>

        <a href="javascript:rejectuser();" id="dntacpt" title="Ablehnen"><img id="aimg" src="./img/dntaccepticon.png"></a>

    </div>
    <?php
        }
    ?>
    </div>
    <?php
    }
    ?>

</div>

我该怎么做?

3 个答案:

答案 0 :(得分:0)

您可以使用ajax刷新外部文件。例如,如果你有一个带有id&#34; friendslist&#34;的div。你可以这样刷新它的内容:

$.ajax({
  url: "friendlist.php"
}).done(function(response) {
  $( '#friendslist' ).html( response );
});

ajax的文档位于jQuery网站上:http://api.jquery.com/jquery.ajax/

答案 1 :(得分:0)

如果你可以让“addfriend.php”返回新的完整用户列表,那么就是:

<?php foreach($request as $row) { $row['userAname'] = (strlen($row['userAname']) > 5) ? substr($row['userAname'], 0, 5) . '...' : $row['userAname']; ?>

你可以使用你在执行AJAX调用时会收到的响应来刷新好友列表,使用jquery HTML函数(http://api.jquery.com/html/

答案 2 :(得分:0)

您可以遵循此代码但未经过测试

首先更新你的index.php

<html>
<body>
<div id="friendlist">
<?php
        include ("friendlist.php");
?>
</div>
</body>
</html>

然后将你的addfriend.php更新为

<?php 

 // your code here 

// then include your frindlist.php content
include 'yourpath/frindlist.php'
?>

然后像这样更新你的javascript代码

function adduser() {
var data=$("#adduserform").serialize();
            $.ajax({
                type: "POST",
                url: "addfriend.php",
                data: data,
                dataType: "html",
                success: function(data)
       {
           $('#friendlist').html(data);
       }
      });
     }