【发布时间】:2013-04-05 01:42:23
【问题描述】:
我有一个带有一些(jQuery ajax)选项卡的窗口,在每个选项卡中我都显示了一些关于用户的信息:发送、接收的消息、发布的帖子和制作的 cmets。我需要做一些分页,在页面之间来回切换时效果很好。但是在最后两个选项卡(写的帖子和 cmets)中,我看到完成的请求呈指数增长。这是部分代码
if ($pageno != $lastpage) {
echo '<div class="item next_page" id="next_page_no_'.$nextpage.'">Siguiente</div>';
}
jQuery 调用的代码运行良好:
$(".display_messages").on("click", ".next_page", function(){
var pageno = $(this).attr('id').replace('next_page_no_','');
$.get('retrieve_messages_rec.php?pageno='+pageno,function(data) {
$('.display_messages').html(data);
})
});
jQuery 调用的代码运行得不太好:
$(".show_last_posts").on("click", ".next_page_posts", function(){
var pageno = $(this).attr('id').replace('next_page_no_','');
var usr_id= <?php echo mysql_real_escape_string($_GET['usr_id']); ?>;
$.get('user_last_posts.php?pageno='+pageno+'&usr_id='+usr_id,function(data) {
$('.show_last_posts').html(data);
})
});
为了更好地理解,当您在正常工作的代码中单击“.next_page”时,您每次单击都会看到一个请求完成。但是当您单击“.next_page_posts”(在第二个示例中)时,您第一次收到文件“user_last_posts.php”的一个请求,第二次点击三个请求(对于接下来的几个帖子),六个请求去第三页,12 页,然后 24 页,以此类推。为什么会这样循环?这里显示的代码片段是否足以看出我的错误在哪里?既然它们基本上是相同的,为什么它在其中一些工作得很好,而在另一些工作却不行?还是我偏执,这很正常?谢谢
【问题讨论】:
-
添加 '$.one($.get...' 只调用文件两次,但我的目标是只加载一次。
标签: jquery pagination