在Rails应用程序中无限滚动

时间:2014-02-03 05:53:54

标签: javascript ruby-on-rails ruby infinite-scroll

我正在使用这个https://github.com/jney/jquery.pageless.demo/tree/master/example.rails3插件在我的应用程序中实现无限滚动效果。开发人员在他的自述文件中提到要复制这个

               $('#container1').pageless({ 
                 totalPages: 5,
                 url: 'shirts/first',
                 loaderMsg: 'Loading more results'
               });

但那没用。然后我下载了他的演示并查看了他的代码,发现我甚至不得不在我的控制器中写这个

           if request.xhr?
             sleep(1)
             render :partial => 'shirts/first'
           end

有人可以向我解释上述代码吗? javascript代码和上面的代码是如何相关的?我对工作有一些了解,但我不完全确定,所以任何对这件事情有好感的人,请你解释一下吗?

1 个答案:

答案 0 :(得分:1)

当发出AJAX请求时,它会添加一个特殊的X-Requested-With标头,您可以检查它。基本上代码正在做的是:

if request.xhr? #Check for the X-Requested-With Header
  sleep(1) #Wait for 1 second
  render :partial => 'shirts/first' #Insert the partial into the container
end

使用jQuery从头开始实现这一点可能很有教育意义,因为它不会那么困难,并且会让你的某些部分变得更加明显。