Ajax执行双重请求

时间:2016-03-25 15:41:28

标签: javascript php jquery ajax

我有两个页面共享一个页眉,页脚。第一页是wall.php第二页是profile.php。在wall.php内部我从所有朋友那里获取帖子。在profile.php内部我只是提取我​​的帖子。现在我正在做的就是ajax jquery。当我调用wall.php执行一个ajax请求时,使用fire bug来解码代码。当我进入profile页面时,我已经执行了一些ajax请求的两倍。检查截图

我的代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
 <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
    <script src="js/custom.min.js"></script>
  </head>
  <body>
        <!-- Get flash messages -->
        <?= $template->Flash()->render(); ?>

        <!-- Get content -->

        <?= $template->Content(); ?>
  </body>
</html>

Custom.js

$(document).ready(function() {
   Post.loadAll(); // load all post when document is ready
}

var Post = {

    loadAll: function() {
        var list = $("div.post-list");

        $(".post-loader").show();

        $.ajax({
            type: "post",
            cache: false,
            url: baseurl + "/post/list_post",
            success: function (r) {
                list.append(r); // add post on page
                $(".post-loader").hide();
            },
            error: function(response, s, e) {
                list.html(response.responseText);
            },
        });
    },
}

Profile.php Wall.php 有一些列表的列表

<!-- Profile posts -->
<div id="post-list" class="post-list">
   <?= if($posts): ?>
      <?php foreach($posts as $post): ?>
            //.... post data(title, desc)
      <?php endforeach; ?>
   <?php endif; ?>
</div>

因此问题仅在profile.php执行双重请求时。在wall.php上,所有工作都很好,只执行一个请求。

0 个答案:

没有答案