Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
Jquery ajax';脚本';数据类型不工作?_Jquery_Ruby On Rails_Ruby_Ajax_Ruby On Rails 3 - Fatal编程技术网

Jquery ajax';脚本';数据类型不工作?

Jquery ajax';脚本';数据类型不工作?,jquery,ruby-on-rails,ruby,ajax,ruby-on-rails-3,Jquery,Ruby On Rails,Ruby,Ajax,Ruby On Rails 3,我正在尝试将此函数用于无限滚动: <script type="text/javascript" charset="utf-8"> (function() { var page = 1, loading = false; function nearBottomOfPage() { return $(window).scrollTop() > $(document).height() - $(window).height() - 200; }

我正在尝试将此函数用于无限滚动:

<script type="text/javascript" charset="utf-8">
(function() {
  var page = 1,
      loading = false;

  function nearBottomOfPage() {
    return $(window).scrollTop() > $(document).height() - $(window).height() - 200;
  }

  $(window).scroll(function(){
    if (loading) {
      return;
    }

    if(nearBottomOfPage()) {
      loading = true;
      page++;
      $.ajax({
        url: '/paginate?page=' + page,
        type: 'get',
        dataType: 'script',
        success: function(data) {
          $(".res-list").append(data.responseText);
          $(window).sausage('draw');
          loading = false;
        }
      });
    }
  });

  $(window).sausage();
}());
</script>

我使用了以下代码:

$.ajax({ 
  url: '/paginate?format=js&page=' + page, 
  type: 'get', 
  dataType: 'text', 
  success: function(data) { 
    $(".res-list").append(data); 
    loading = false; 
  } 
});

您是否尝试过使用而不是
$.ajax()
?这更像是一个ruby问题,但是它的400(错误请求),因为它形成了这样的url。。。使用调试器找出URL不稳定的原因。我不知道这个URL来自哪里,但我知道
'[object object]
来自
toString()
ing一个对象;例如:
({}).toString()
URL被硬编码到脚本中(见上文),其just/paginate?page=x。至于页面上的内容,它必须是脚本格式(respond_to method中的format.js),您将看到一堆列表项的纯文本html。您是否尝试使用数据类型:“text”?
$.ajax({ 
  url: '/paginate?format=js&page=' + page, 
  type: 'get', 
  dataType: 'text', 
  success: function(data) { 
    $(".res-list").append(data); 
    loading = false; 
  } 
});