所以我试图在AJAX请求中使用jQuery的serialize
来覆盖rails表单:
data : $('#update-form').serialize()
问题是表单正在发出两个请求,一个是通过ajax,另一个是通过实际的rails形式本身。有没有办法使用Rails中的助手制作一个“虚拟”形式,它根本不会提交请求并将其全部留给AJAX请求?
提前致谢!
答案 0 :(得分:1)
你在这个问题上缺少很多信息,但我想我可以填补空白。不知何故,表单上的某个地方类似于提交按钮。您必须有一个事件监听器,等待单击该按钮。单击该按钮时,即执行使用AJAX发送表单的代码时。如果这一切都是真的,你需要做两件事:
1)确保您的事件处理程序接受将提供的事件对象
2)该事件对象上的preventDefault
。这将阻止提交表单。
如果事件处理程序的名称为submitForm
,则代码如下所示:
submitForm: function(event){
event.preventDefault();
//the rest of your code
}