我正在使用页面滚动功能加载数据。当我在我的函数中对数据行进行硬编码时,一切正常
例如,这可以将sortby设置为“asc”
data: '{pageIndex: ' + pageIndex + ', sortby: "asc" }',
这不起作用,我得到未定义的消息
data: '{pageIndex: ' + pageIndex + ', sortby: '+ sortby +' }',
我在函数中设置了一个警告,并且var sortby的值确实相等,当我滚动到正确的页面底部时弹出警告框。
但它没有通过并导致未定义的错误
这就是我所拥有的:
<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);
}
});
}
}
有人可以告诉我如何正确传递这个值吗?
感谢。
答案 0 :(得分:1)
问题是因为您没有将sortby
中包含的字符串包装在引号中。试试这个:
data: '{pageIndex: ' + pageIndex + ', sortby: "'+ sortby +'" }',
请注意第二个连接值周围的双引号。
更好的做法是不要自己构建一个丑陋的连接字符串,而只是为data
属性提供一个对象。 jQuery将根据您的需要对其进行编码:
data: {
pageIndex: pageIndex,
sortby: sortby
},