以下代码从我的服务器端检索数据,输出到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'>£"+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并且任何其他时间它将继续执行此操作然后下一组值
你们可以发现我出错的地方吗?
由于
答案 0 :(得分:0)
忽略这一点,这是MySQL服务器端的一个问题。