Rails 3 Ajax表单不发送参数

我在我的索引页面上有一个用于对记录进行排序的表单,我想为它添加一些Ajaxfunction,但由于某种原因,只要我将Ajax添加到混合中,它就不会发送我的表单参数。

这是我的表格:

"get", :remote => true do %>

和我的Ajax javascript:

 jQuery(document).ready(function($) { $(function () { $('#sort-options input, .pagination a').live("click", function () { $.get(this.href, null, null, 'script'); return false; }); }); }); 

当我单击提交按钮并查看我的Firebug控制台以查看发生了什么时,很明显它已成功调用Ajax并且它为页面提供服务没有问题。 但是它完全忽略了我发送的params,并且在重新查询数据库时不考虑这一点。 如果我取出’:remote => true’并删除指向Ajax文件的链接,params成功地被发送回索引操作 – 只是没有Ajax 🙁

我应该补充一点,Ajax目前适用于我在同一页面上的分页。

问题是你将另一个单击处理程序绑定到提交按钮,该按钮覆盖了Rails的内置AJAXfunction( :remote => true )。 您的选择器#sort-options input, .pagination a不仅匹配分页链接,还匹配表单的提交按钮。 按钮没有href属性,这是您作为URL传递给$.get()属性。 所以$.get(this.href, ...)尝试向空URL发出一个AJAX GET请求(就好像它是一个空字符串,因此是当前的URL,没有任何GET参数)。