Javascript Ajax jQuery未将变量传递给数据未定义错误
我正在使用页面滚动功能加载数据。当我在函数中硬编码数据行时,一切正常 例如,如果将sortby设置为“asc”,则此选项有效 这不起作用,我收到未定义的消息Javascript Ajax jQuery未将变量传递给数据未定义错误,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在使用页面滚动功能加载数据。当我在函数中硬编码数据行时,一切正常 例如,如果将sortby设置为“asc”,则此选项有效 这不起作用,我收到未定义的消息 data: '{pageIndex: ' + pageIndex + ', sortby: '+ sortby +' }', 我在函数中设置了一个警报,var sortby的值等于asc。当我滚动到页面底部时,警报框弹出,这是正确的 但是它没有被传递并导致未定义的错误 这就是我所拥有的: <script type="text/jav
data: '{pageIndex: ' + pageIndex + ', sortby: '+ sortby +' }',
我在函数中设置了一个警报,var sortby的值等于asc。当我滚动到页面底部时,警报框弹出,这是正确的
但是它没有被传递并导致未定义的错误
这就是我所拥有的:
<script type="text/javascript">
var pageIndex = 1;
var pageCount;
$(window).scroll(function () {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
GetRecords();
}
});
function getdropdownlistSelectedItem(sender, args) {
var raddropdownlist = $find('<%=RadDropDownList1.ClientID %>');
var selecteditem = raddropdownlist.get_selectedItem().get_value() || "asc";
return selecteditem;
}
function GetRecords() {
var sortby = getdropdownlistSelectedItem();
alert('Sortby: ' + sortby);
pageIndex++;
if (pageIndex == 2 || pageIndex <= pageCount) {
$("#loader").show();
$.ajax({
type: "POST",
url: "categorypage.aspx/GetCustomers",
// data: '{pageIndex: ' + pageIndex + ', sortby: "asc" }',
data: '{pageIndex: ' + pageIndex + ', sortby: '+ sortby +' }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
}
}
var pageIndex=1;
var pageCount;
$(窗口)。滚动(函数(){
if($(窗口).scrollTop()==$(文档).height()-$(窗口).height()){
GetRecords();
}
});
函数getdropdownlistSelectedItem(发送方,参数){
var raddropdownlist=$find(“”);
var selecteditem=raddropdownlist.get_selecteditem().get_value()||“asc”;
返回selecteditem;
}
函数GetRecords(){
var sortby=getdropdownlistSelectedItem();
警报('Sortby:'+Sortby);
pageIndex++;
如果(pageIndex==2 | | pageIndex,则问题在于您没有将sortby
中包含的字符串括在引号中。请尝试以下操作:
data: '{pageIndex: ' + pageIndex + ', sortby: "'+ sortby +'" }',
请注意,在第二个连接的值周围有双引号
更好的做法是不要自己构建一个难看的连接字符串,而是只为数据
属性提供一个对象。jQuery将根据需要对其进行编码:
data: {
pageIndex: pageIndex,
sortby: sortby
},
谢谢包装,它成功了。当我尝试另一个部分时,我又没有定义
data: {
pageIndex: pageIndex,
sortby: sortby
},