C# Ajax回调函数总是在第一次调用后调用
我想使用ajax回调函数进行自动加载,但是C# Ajax回调函数总是在第一次调用后调用,c#,asp.net,jquery,callback,webmethod,C#,Asp.net,Jquery,Callback,Webmethod,我想使用ajax回调函数进行自动加载,但是GetData函数会在第一次调用后继续使用相同的参数进行调用。以下是我的javascript代码: var currentPage = 0; var isFinished = false; var lastScrollTop = 0; $(window).data('ajaxready', true).scroll(function (e) { if ($(window).
GetData
函数会在第一次调用后继续使用相同的参数进行调用。以下是我的javascript代码:
var currentPage = 0;
var isFinished = false;
var lastScrollTop = 0;
$(window).data('ajaxready', true).scroll(function (e) {
if ($(window).data('ajaxready') == false) return;
$(window).scroll(function (event) {
var st = $(this).scrollTop();
if (st > lastScrollTop) {
if (st > window.innerHeight) {
var amountValue = $("#amount").val();
var firstPrice = 0;
var lastPrice = 10000;
InfiniteScroll(firstPrice, lastPrice);
}
}
});
});
function InfiniteScroll(firstPrice, lastPrice) {
if (firstPrice < 0 || firstPrice == undefined) {
firstPrice = 0;
}
if (lastPrice < 0 || lastPrice == undefined) {
lastPrice = 10000;
}
if (isFinished) {
return;
}
$('#divPostsLoader').html('<img src="images/loader.gif">');
var rawPath = window.location.pathname.split('/');
var categoryId = rawPath[rawPath.length - 1];
$("#load").show();
$.ajax({
type: "POST",
url: "http://localhost:60579/AjaxCallPage.aspx/GetData",
data: "{categoryId:" + categoryId +
",page:" + currentPage +
",skip:'9',firstPrice:" + firstPrice + ",lastPrice:" + lastPrice + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
if (data.d.length < 3) {
isFinished = true;
}
var products = JSON.parse(data.d);
$.each(JSON.parse(data.d), function () {
// ... do smth..
});
currentPage += 1;
$("#load").hide();
}
});
};
var currentPage=0;
var isFinished=false;
var lastScrollTop=0;
$(窗口)。数据('ajaxready',true)。滚动(函数(e){
if($(窗口).data('ajaxready')==false)返回;
$(窗口)。滚动(功能(事件){
var st=$(this.scrollTop();
如果(st>lastScrollTop){
如果(st>window.innerHeight){
var amountValue=$(“#金额”).val();
var firstPrice=0;
var lastPrice=10000;
InfiniteScroll(firstPrice,lastPrice);
}
}
});
});
函数无限滚动(firstPrice,lastPrice){
if(firstPrice<0 | | firstPrice==未定义){
firstPrice=0;
}
if(lastPrice<0 | | lastPrice==未定义){
最后价格=10000;
}
如果(已完成){
返回;
}
$('#divPostsLoader').html('';
var rawPath=window.location.pathname.split('/');
var categoryId=rawPath[rawPath.length-1];
$(“#加载”).show();
$.ajax({
类型:“POST”,
url:“http://localhost:60579/AjaxCallPage.aspx/GetData",
数据:“{categoryId:”+categoryId+
,第页:“+currentPage”+
,跳过:'9',firstPrice:“+firstPrice+”,lastPrice:“+lastPrice+”}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
如果(数据长度<3){
isFinished=true;
}
var products=JSON.parse(data.d);
$.each(JSON.parse(data.d),函数(){
//…做smth。。
});
当前页面+=1;
$(“#加载”).hide();
}
});
};
我不向下滚动,但它在第一次调用后调用GetData
函数。你有什么建议吗?问题在于:
if (st > lastScrollTop) {
if (st > window.innerHeight) {
检查它,因为出于某种原因,正在输入函数的这一部分,而没有滚动。如果我有时间,我会看一看