JQuery Mobile调用函数似乎是从以前的变量数据循环

时间:2012-02-16 11:48:13

标签: jquery ajax jquery-mobile

以下代码从我的服务器端检索数据,输出到DOM。我还创建了一个函数,用于检查用户是否滚动到设备的底部。如果他们这样做,那么我希望AJAX调用从我的服务器端获取接下来的十个结果。

function productList(department_id,listingFirstValue,listingSecondValue){
     $.mobile.changePage( "#product", { transition: "slide"} );
     var listingFirstValueRecall = parseInt(listingSecondValue) + parseInt("1");
     var listingSecondValueRecall = parseInt(listingFirstValueRecall) + parseInt("10");
     $.ajax({
          url: //URL Goes Here,
          data: "format=json",
          jsonp: "callback",
          dataType: "jsonp",
          beforeSend:function(){
               $.mobile.showPageLoadingMsg();
          },
          success: function(data){
               var numberProducts = 0;
               $.each(data, function(index) {
                    if(numberProducts <= 10){
                          $('#product-list').append("<li id='"+data[index].product_id+"'>"+data[index].product_id+"<a href='' onclick='productPage("+data[index].product_id+");'><div class='product-listing-image-wrapper'><div class='product-listing-image'><img src='http://images.nitrosell.com/product_images/9/2083/"+data[index].product_image+"' /></div></div><div class='product-listing-textual-wrapper><div class='product-listing-name'>"+data[index].product_name+"</div><div class='product-listing-price'>&pound"+data[index].product_price+"</div></div></a><div class='kill'></div></li>").listview('refresh');
                          }
               });
               $.mobile.hidePageLoadingMsg();
          },
          error: function(){
               $.mobile.hidePageLoadingMsg();
               //Output Error
          }
     })
     $(window).scroll(function(){
          if($(document).height() > $(window).height()){
              if($(window).scrollTop() == $(document).height() - $(window).height()){
                    //Output values in alert
                    //Call function
                productList(department_id,listingFirstValueRecall,listingSecondValueRecall);
              }
          }
      });
}

我使用以下内容从应用程序的另一部分调用该函数 -

productList(department_id+"0,"+"10");

这将从服务器端加载前十个结果,没问题。当我滚动到浏览器的底部时,它将从MySQL服务器端加载11,21。

然而,当我再次滚动到页面底部时,它将再次加载11,21然后它将加载22,32并且任何其他时间它将继续执行此操作然后下一组值

你们可以发现我出错的地方吗?

由于

1 个答案:

答案 0 :(得分:0)

忽略这一点,这是MySQL服务器端的一个问题。