will_paginate with jquery: respond_to 不响应 js 请求

发布于 2024-10-04 16:26:26 字数 733 浏览 4 评论 0原文

我使用 jquery 对我的应用程序进行分页,就像 facebook 和 twitter 那样。以下将加载“下一个”结果,但会加载整个 html 页面。它似乎没有响应 format.js。我在这里做错了什么?

Home Controller

def index
  @products = Product.paginate(:per_page => 2, :page => params[:page])
  respond_to do |format|
    format.html # index.html.erb
    format.js { render :template => '/products_home.html.erb' } # Prodcuts home partial
  end
end

Jquery Javascript to execute AJAX
$(function() {
  $(".pagination a").live("click", function() {
 var pagination = $(this).parent();
    $(".pagination").html("Page is loading...");
 $.get(this.href, function(data) {
   $('#show').append(data);
   alert('Load was performed.');
   pagination.hide();
 });
    return false
  });
});

I am using jquery to paginate my application in the same way facebook and twitter do so. The following will load "next" results but it loads the whole html page. It seems it is not responding to the format.js. What am I doing wrong here?

Home Controller

def index
  @products = Product.paginate(:per_page => 2, :page => params[:page])
  respond_to do |format|
    format.html # index.html.erb
    format.js { render :template => '/products_home.html.erb' } # Prodcuts home partial
  end
end

Jquery Javascript to execute AJAX
$(function() {
  $(".pagination a").live("click", function() {
 var pagination = $(this).parent();
    $(".pagination").html("Page is loading...");
 $.get(this.href, function(data) {
   $('#show').append(data);
   alert('Load was performed.');
   pagination.hide();
 });
    return false
  });
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

忆梦 2024-10-11 16:26:26

请参阅 http://api.jquery.com/jQuery.get/

您需要添加 dataType将“json”添加到您的 $.get 调用中。

See http://api.jquery.com/jQuery.get/

You need to add dataType of "json" to your $.get call.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文