实际上我可以将我的变量传递给我的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;
})
})
答案 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;
});