Rails 4 页面在 ajax 调用后重新加载
Rails 4 page reload after ajax call
我有一个应用程序,它根据存储在会话变量中的位置显示大量信息页面。
我正在从其他控制器的不同页面之间部分共享中使用单个选择。
_location_select.html.erb
<%= select_tag(:location, options_for_select(Location.all.order('name ASC').collect { |l| [l.name, l.id] }, [session[:location]||'']), include_blank: true) %>
这会对以下位置进行 ajax 调用:
locations_controller.rb
class LocationsController < ApplicationController
def select
session[:location] = params[:value]
render js: ''
end
end
这是我的咖啡稿:
首页.js.咖啡
$ ->
$('#location').change ->
$.get '/location/select', {value: $('option:selected', this).val()}
所有这些代码都很好用,但我需要在 ajax 调用完成后重新加载页面,让控制器返回更新的 html 太复杂了,因为位置选择将出现在如此大量的页面上。
我尝试将成功:和错误:回调函数添加到 ajax 调用中,并且还尝试了 ajaxStop。我可以让 ajax 调用工作或页面重新加载工作,但无法弄清楚两者兼而有之的方法。
我尝试添加:
$(document).ajaxStop(function(){
window.location.reload();
});
我在哪里放置 location.reload() 还是有更好的方法?
仅供参考,我没有在此应用程序中使用涡轮链接。
locations_controller.rb
class LocationsController < ApplicationController
def select
session[:location] = params[:value]
respond_to do |format|
format.js {}
end
end
end
视图/位置/选择.js
window.location.reload();
相关文章:
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid