【问题标题】:jquery.pageless scrapejquery.pageless 抓取
【发布时间】:2013-03-25 16:36:23
【问题描述】:

我正在使用 jquery.pageless 插件。它通过抓取控制器中的分页方法生成的参数来实现无限滚动。

我正在尝试将自定义参数(例如用户 ID)传递给我的无页函数。这在我在 js.erb 中加载函数时有效,如下所示:

$('#relationship_list').pageless({ totalPages: "<%= @reviews.count %>"/5+1
                       , url: '/reviews'
                       , params: {id: "<%= params[:id] %>"}
                       , loaderMsg: "loading"
                       });

这可以按需要工作。但是,我不想远程加载我的页面,所以我需要找到一种方法在 javascript 中实现这一点,不显眼(我不想直接在我的视图中集成脚本,我想将代码放在application.js)。

这意味着我必须找到一种方法将像 这样的代码“翻译”为无页调用可以从控制器读取的变量。但是怎么做?我真的不知道该怎么做。

我认为这是一个最适合已经了解 jquery.pageless 的人的问题,因为它太笼统了,所以我在这篇文章中添加自己的代码毫无意义 - 如果不同意,请发表评论!

【问题讨论】:

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


【解决方案1】:

这是我选择的解决方案。欢迎任何关于这是否是合适的方法的提示:

if($('#relationship_list').length){
    $.ajax({
            type: 'GET',
            url: '/users/'+$('.user_info').attr("id"),
            dataType: 'json',
            success: function(response){
                $('#relationship_list').pageless({ url: '/reviews'
                                , totalPages: response["count"]/5+1
                                , loaderMsg: "loading"
                                , params: {id: response["id"]}
                });
            }
    });     
}

这样做是对控制器进行 ajax 调用,并使用关键参数渲染一个 json 参数。然后我使用这些参数来实现 .pageless 函数。

请注意,为了获取原始用户 ID,我实际上有一个包含用户 ID 的 div,因此我从页面中获取了它。用户 ID 不是国家机密,但如果有人有关于如何获取 html 参数的提示(ID 在我的 rails 代码中的 params[:id] 中),我将非常感激

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 2020-06-18
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多