Кажется, что функция вызова JQuery Mobile зацикливается на предыдущих переменных данных - PullRequest
0 голосов
/ 16 февраля 2012

Следующий код извлекает данные со стороны моего сервера и выводит их в 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");

Это загрузит первые десять результатов со стороны сервера, без проблем. Когда я прокручиваю браузер до конца, он загружает 11, 21 со стороны сервера MySQL.

Однако, когда я снова прокручиваю до конца страницы, он снова загружает 11, 21, затем загружает 22, 32 и в любое другое время сохраняет это значение, а затем следующий набор значений

Можете ли вы, ребята, заметить что-нибудь, где я иду не так?

Спасибо

1 Ответ

0 голосов
/ 23 февраля 2012

Игнорируйте это, это была проблема со стороной сервера MySQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...