Ajax发布表单ruby on rails

时间:2013-03-14 09:21:25

标签: ruby-on-rails ajax jquery

实际上我可以将我的变量传递给我的js.erb,让我们说

我在控制器中创建了1个方法 在我的application.js中,我有我的Ajax帖子 然后我有我的create.js.erb

在我的创建表单中,我有2个hidden_​​field_tag 在我的create.js.erb中,这是ajax成功发布的地方并执行操作,但是如何访问hidden_​​field数据以执行我的逻辑以在成功时执行某些操作?

这是因为,当js成功时,我得到了两个不同的动作来确定我应该处理哪个动作。 实际上js.erb的工作原理是什么?此外,当我在application.js中提醒表单数据时,虽然js工作正常,但它并没有出现警报。有什么想法吗?

$(document).ready(function() {
  $("#new_answer").submit(function() {
    $.post(this.action, $(this).serialize(), null, "script");
    alert("you are submitting" + $(this).serialize()); //it dint work but it did post
    return false;
  })
})

1 个答案:

答案 0 :(得分:3)

  

等等,当你这样做时,让我们说:controller => “月”和   :action => “进行曲”。

我的意思是你的$(this).action()返回“/ months / march”。

  

这将存储在url中,当你通过下面的post方法点击该url时,表单元素在params哈希中“months”控制器的“march”动作中可用。

现在,在“result”js变量中,整个params哈希将可用,实际上你正在提醒。

months_controller.rb

def march

  render :text => params

end

的application.js

$("form#new_answer").submit(function() {  

          var data = $('form#new_answer').serialize();

          var url = $(this).action();

           $.post(url ,data, function(result){

            alert(result);

            });        

           return false;

          });