Javascript Rails在同一页面中提交后显示信息
我想在表单提交中单击后显示一些值,但在同一页面中,不刷新 以我的形式 (:controller=>“reports”,:action=>“search”)的Javascript Rails在同一页面中提交后显示信息,javascript,ruby-on-rails,ruby,ajax,forms,Javascript,Ruby On Rails,Ruby,Ajax,Forms,我想在表单提交中单击后显示一些值,但在同一页面中,不刷新 以我的形式 (:controller=>“reports”,:action=>“search”)的url\u, :method=>“get”,:remote=>true,:format=>:js, html:{id:“日期范围”,:“数据类型”=>“json”}do | f |%> “Fecha Inicio”%> “Fecha最终版”%> “btn btn成功btn lg”%> “报告/共享/销售截止日期”%> 在我的sale_by_
url\u,
:method=>“get”,:remote=>true,:format=>:js,
html:{id:“日期范围”,:“数据类型”=>“json”}do | f |%>
“Fecha Inicio”%>
“Fecha最终版”%>
“btn btn成功btn lg”%>
“报告/共享/销售截止日期”%>
在我的sale_by_date.html.erb中
0 ? “帕加多”:“{number_to_currency sale.剩余_balance}”%>
|
create.js.erb
$('.datos').html(“'reports/shared/_sale_by_date.html.erb')%”);
在我的控制器里
def搜索
开始日期=参数[:搜索][:开始日期]
结束日期=参数[:搜索][:结束日期]
@销售=销售。其中(:创建日期=>开始日期..结束日期)
回应待办事项|格式|
format.js{ajax_refresh}
结束
结束
def ajax_刷新
返回render(:file=>reports/create.js.erb)
结束
但当我点击提交表单时,什么也没发生
控制台信息
Started GET”/reports/search?utf8=%E2%9C%93&search%5b开始日期%5D=01%2F01%2F2015&search%5b结束日期%5D=06%2F03%2F2015&commit=Buscar“for::1于2015-06-03 10:00:44-0500
开始获取“/报告/搜索?utf8=%E2%9C%93&搜索%5b开始日期%5D=01%2F01%2F2015&搜索%5b结束日期%5D=06%2F03%2F2015&提交=Buscar”for::1于2015-06-03 10:00:44-0500
由ReportsController处理#搜索为JSON
由ReportsController处理#搜索为JSON
参数:{“utf8”=>“✓", "搜索“=>”{“开始日期”=>“2015年1月1日”,“结束日期”=>“2015年3月6日”},“提交”=>“客车”}
参数:{“utf8”=>“✓", "搜索“=>”{“开始日期”=>“2015年1月1日”,“结束日期”=>“2015年3月6日”},“提交”=>“客车”}
[查询值]
提交报告/共享/_sale_by_date.html.erb(65.5ms)
提交报告/共享/_sale_by_date.html.erb(65.5ms)
呈现报告/create.js.erb(67.5ms)
呈现报告/create.js.erb(67.5ms)
在80毫秒内完成200 OK(视图:56.8毫秒|活动记录:16.0毫秒)
在80毫秒内完成200 OK(视图:56.8毫秒|活动记录:16.0毫秒)
这是我第一次问,谢谢 当您发送AJAX请求时,Ruby将自动查找同名的
.js.erb
。因此,您可以将create.js.erb
重命名为search.js.erb
并删除respond\u to
块。此外,:“data type”=>“json”
可能会导致响应被解释为json而不是JS,因此它不会被执行。根据服务器日志,尽管出现两次的内容都有点奇怪,但似乎一切都正常工作。能否添加一个console.log(“测试”)代码>或警报(“测试”)
到您的create.js.erb
并查看它是否运行?是否检查了JavaScript错误?否则一切看起来都正常。渲染报告/create.js.erb(67.5ms)
确定什么都没发生吗?看起来您希望在create.js.erb
@Clark添加警报(“测试”)中渲染部分
而不是渲染文件
代码>或控制台日志(“测试”)代码>仍然什么都不做。这表明您的create.js.erb
没有被执行。我的第一个想法是,为什么ReportsController将处理为JSON
搜索为JSON
特别是作为JSON
与我在应用程序中提出的类似想法相比,它总是作为JS
我的建议是将create.JS.erb
重命名为search.JS.erb
,并从搜索