2011-12-30 102 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])