【发布时间】:2016-08-25 12:51:44
【问题描述】:
我正在使用以下代码通过搜索页面上的 JS 请求获取数据
<%= link_to 'All', '/search?type=all', id: 'active', remote: true %>
<%= link_to 'Photographers', '/search?type=photographers', remote: true %>
一切正常,我正在按预期获取数据。但是当我点击其他链接然后点击返回按钮(由浏览器提供)时,它会在空白页面上向我显示 JS 请求数据,而不是返回搜索页面。
是否有任何解决方法或解决方法?
在 routes.rb 中
resources :search, only: [:index]
在搜索控制器中
def index
// search processing
respond_to do |format|
format.html
format.js
end
end
搜索/index.js.erb
$('#search-area').html("<%= j render partial: 'search_area' %>");
我正在使用带有 Puma 的 Rails 5.0
【问题讨论】:
-
包含您的控制器和路由,以帮助我们更好地理解您的代码
-
@NirajanPokharel 添加了
-
听起来后退按钮正在返回上一个请求,即来自您的
remote: true链接的 AJAX 请求。奇怪的。你用的是什么服务器?标准的 Rails 开发服务器一次只能处理一个请求,这可能是造成这种情况的原因。尝试使用puma作为开发服务器,看看问题是否仍然存在 -
或者查看您的
search.js视图文件。根据您的 JS 实现,您可能只有一个空页面,而搜索 JS 正在运行。 -
@Killerpixler 更新了帖子,我正在使用带有 Puma 的 Rails 5
标签: javascript ruby-on-rails ajax