Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax jQuery未将变量传递给数据未定义错误_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript Ajax jQuery未将变量传递给数据未定义错误

Javascript Ajax jQuery未将变量传递给数据未定义错误,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在使用页面滚动功能加载数据。当我在函数中硬编码数据行时,一切正常 例如,如果将sortby设置为“asc”,则此选项有效 这不起作用,我收到未定义的消息 data: '{pageIndex: ' + pageIndex + ', sortby: '+ sortby +' }', 我在函数中设置了一个警报,var sortby的值等于asc。当我滚动到页面底部时,警报框弹出,这是正确的 但是它没有被传递并导致未定义的错误 这就是我所拥有的: <script type="text/jav

我正在使用页面滚动功能加载数据。当我在函数中硬编码数据行时,一切正常

例如,如果将sortby设置为“asc”,则此选项有效

这不起作用,我收到未定义的消息

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
},