2012-04-26 103 views
1

我试图循环AJAX调用后返回的数据后循环是成功和结果加到pagination plugin.的JQuery的Ajax调用

这里是我的代码:

var imagesPerPage = 2, pageNumber = 1; 
    var pagesContainer = $('#pagesContainer'), 
    imagesInPage = 0, 
    divPage = $("#p1"); 

    $.ajax({ 
      type: "POST", 
      url: "Default.aspx/GetImages", 
      data:{}, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (response) { 

      //Here goes my for loop      

      } 
     }); 

这是我的循环,我需要从webmethod获取图像并循环它们并添加到分页。

for (i = 0; i < response.d.length; i++) { 
      if (imagesInPage >= imagesPerPage) { 
      imagesInPage = 1; 
      pageNumber += 1; 
      divPage = $('<div/>', { id: "p" + pageNumber }).addClass('pagedemo').hide().appendTo(pagesContainer); 
      } else { 
      imagesInPage += 1; 
      } 
} 

这里是我的分页默认配置:

$("#pagination").paginate({ 
       count: pageNumber, 
       start: 1, 
       display: Math.min(7, pageNumber), 
       border: true, 
       border_color: '#fff', 
       text_color: '#fff', 
       background_color: 'black', 
       border_hover_color: '#ccc', 
       text_hover_color: '#000', 
       background_hover_color: '#fff', 
       images: false, 
       mouse: 'press', 
       onChange: function (page) { 
       $('#paginationdemo ._current').removeClass('_current').hide(); 
       $('#p' + page).addClass('_current').show(); 
     } 
    }); //pagination 

现在我的问题是,当我试图让一个图像的响应它没有显示我的形象,以及在pagination.If它是不止一个,然后开始向我展示分页和图像。

截图

enter image description here

因此,谁能说我在哪里,我要去错了吗?

+0

只是建议:使用'我++'而不是'i + = 1' – 2012-04-26 09:40:17

+0

你可以发布json对象,当ajax返回一个唯一的图像?也许你在那个特定情况下没有'd'对象 – fcalderan 2012-04-26 09:41:32

+0

@ DotNETNinja-Where?我已经使用了i ++。 – coder 2012-04-26 09:41:34

回答

0

你在哪里试图获得一个图像的响应?如果你正在尝试做这在你的,如果条件那么就不会只有一个响应工作,因为

imagesInPage> = imagesPerPage

计算结果为假的imagesPerPage = 2,imagesInPage = 0;

还,如果你的反应类型是JSON和这不能解决您的问题请尝试使用

$.each(response,function(index,data){ 
    //check each image here 
     // data.id gives you the id of each json object in the response 
}) 
+0

@德拉科 - 我尝试过相同但没有成功。 – coder 2012-04-26 09:48:43

0

这是最近我遇到了同样的问题,你的分页问题。要解决这个问题,你需要一个条件。检查响应的长度。如果它是1,然后添加一些默认值,这将起作用。