【发布时间】:2015-12-30 00:16:14
【问题描述】:
我正在我的应用程序中进行 AJAX 调用。该调用应该获取分页内容的第二页并将其显示在第一页下方。调用成功,只有 AJAX 获取的数据以 JS 形式返回,如下代码所示:
Started GET "/links?_=1451434087187&page=4" for ::1 at 2015-12-29 19:08:13 -0500
Processing by LinksController#index as JS
Parameters: {"_"=>"1451434087187", "page"=>"4"}
如果不使用 AJAX 调用,而我只是单击应用程序中的分页链接之一,请求的数据将以 html 形式返回:
Started GET "/links?_=1451434246208&page=1" for ::1 at 2015-12-29 19:11:13 -0500
Processing by LinksController#index as HTML
Parameters: {"_"=>"1451434246208", "page"=>"1"}
Link Load (0.2ms) SELECT "links".* FROM "links" ORDER BY "links"."cached_votes_score" DESC LIMIT 5 OFFSET 0
(0.2ms) SELECT COUNT(*) FROM "links"
我在控制器中包含了一个 respond_to 来尝试接受 JS 数据,但它不起作用:
def index
@links = Link.order(cached_votes_score: :desc).paginate(page: params[:page], per_page: 5)
respond_to do |format|
format.js
format.html
end
end
link.coffee.js:
jQuery ->
$(window).scroll ->
url = $('.pagination .next_page').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
$('.pagination').text("Fetching more products...")
$.getScript(url)
index.js.erb:
$('#link').append('<%= j render(@links) %>');
<% if @links.next_page %>
$('.pagination').replaceWith('<%= j will_paginate(@links) %>');
<% else %>
$('.pagination').remove();
<% end %>
_link.html.erb:
<!-- order links based on total number of votes -->
<div class="link row clearfix">
<h2>
</h2>
<h2>
<%= link_to link.title, link %><br>
</h2>
<p>
<%= link_to link.url, link %><br>
</p>
<!-- acts_as_votable for like_link -->
<div class="btn-group">
<%= link_to like_link_path(link), method: :put, class: "btn btn-default btn-sm" do %>
<span class="glyphicon glyphicon-chevron-up"></span>
Upvote
<%= link.get_upvotes.size %>
<% end %>
<%= link_to dislike_link_path(link), method: :put, class: "btn btn-default btn-sm" do %>
<span class="glyphicon glyphicon-chevron-down">
Downvote
<%= link.get_downvotes.size %>
<% end %>
</div>
</div>
谁能提供帮助?
【问题讨论】:
-
你能出示一份你的 javascript ajax 代码吗?
-
@VincentAlgayres 我用它编辑了我的问题
-
@Jbur43 能否请您显示呈现的 JavaScript 和 HTML?这是一个客户端问题,很容易调试。
-
@PraveenKumar 我为模板渲染发布了部分链接。
-
@PraveenKumar 我发布了我更新的部分内容,我仍然难以显示内容
标签: jquery ruby-on-rails ajax templates pagination