我有两个页面共享一个页眉,页脚。第一页是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
上,所有工作都很好,只执行一个请求。