2011-12-30 51 views
-1

我有一些(jQuery的AJAX)标签的窗口,在每一个我展示有关用户的一些信息:发送的消息,接收的帖子和评论作出。我需要做一些分页,在页面之间来回切换时能够很好地工作。但在过去的两个标签(文章和评论写的)我看到的要求做成倍增加。这里是增长AJAX请求分页成倍

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,等等。为什么它以这种方式循环?这里显示的代码段足以查看我的错误在哪里?既然它们基本上是相同的,为什么它在其中一些中工作正常,但在另一些中却不行?还是我偏执,这很正常?由于

+0

添加'$ .one($。get ...')仅调用文件两次,但我打算只加载一次。 – cbarg 2011-12-31 22:21:57

回答

0

不同的是.next_page_posts.next_page之间。 .next_page是结合到一个单一的元素,而.next_page_posts势必每个柱。比较两个选择器:

console.log([".next_page_posts:", $(".next_page_posts").length, ".next_page:", $(".next_page").length])