我有一个视图。在这个视图中,我想与AJAX分成4个不同的东西。我有2个人在工作。当我添加第三个(与其他人做相同的方法)前2停止工作。要粘贴一些代码让你们明白。Ruby on Rails - js在js.erb文件上停止工作
为2个paginations使用AJAX工作的视图:
<div id="ofertas"><%= render "ofertas_ajax" %></div>
这使它在普通的循环部分通过项的总汇和将分页链接。一切都好。
正在工作,另一个是这样的:
<div id="historico"><%= render "historico_ajax" %></div>
此呈现的部分,正如在另一个的上面。
我对这些2的application.js:
$(document).on("click","#ofertas .pagination a",function(e){
e.preventDefault();
$.getScript(this.href);
});
$(document).on("click","#historico .pagination a", function(e){
e.preventDefault();
$.getScript(this.href);
});
我home.js.erb
,因为所有这些div都在home.html.erb
视图
$("#ofertas").html("<%= escape_javascript(render("ofertas_ajax")) %>");
$("#historico").html("<%= escape_javascript(render("historico_ajax")) %>");
OK - 所以这个工作得很好。至少测试它,我没有看到任何问题,并且使用AJAX正确分页。
我加入这个div为第三分页:
<div id="candidaturass"><%= render "candidaturaspag" %></div>
再次呈现一个正常部分与正常循环,正确的将分页链接
我说这application.js
$(document).on("click","#candidaturass .pagination a",function(e){
e.preventDefault();
$.getScript(this.href);
});
再次与其他类似。当然,我在home.js.erb
文件添加此:
$("#candidaturass").html("<%= escape_javascript(render("candidaturaspag")) %>");
现在所有的paginations不起作用。我添加这行后。不知何故,我觉得我的home.js.erb
文件不应该是这样的:
$("#ofertas").html("<%= escape_javascript(render("ofertas_ajax")) %>");
$("#historico").html("<%= escape_javascript(render("historico_ajax")) %>");
$("#candidaturass").html("<%= escape_javascript(render("candidaturaspag")) %>");
但随后再次我真的不知道为什么它不工作。如果我的文件被正确编码。
有人可以帮忙吗?
提示:如果您使用浏览器的开发人员工具,请转到网络选项卡,单击页面上的一个Ajax链接,然后复制网络选项卡中的响应并将其粘贴到控制台中,它应该会告诉您关于脚本导致的任何错误(从服务器检索的脚本不显示错误当jQuery'eval's他们)。我不确定为什么你对同一模板中的所有3个单独链接都有回应,但它们是不是应该位于3个不同的模板中(并且可能由3个不同的动作渲染?),否则每个链接都会执行完全一样的东西。 – Inkling 2014-09-05 12:34:02
我刚刚得到500内部服务器错误 – Lokuzt 2014-09-16 08:39:19
如果您收到500内部服务器错误,请查看您的日志文件。其中一个部分可能存在拼写错误或其他编码错误。 – Josh 2014-09-16 11:59:26