0

我正在尝试使用 ajax 构建表单。

我阅读了本教程,但我不清楚。

我想提交一个简单的表单并在同一页面中显示结果而不刷新页面。我的应用程序中没有模型。我只想提交一个表单,向 api 发出请求并将结果显示回页面。

例如,如果我使用它:

<form method="post" action="/my_controller/my_action" class="button_to" data-remote="true" data-type="json">
  <input type="text" ..>
  <input type="text" ..>
  <div><input value="Show" type="submit" /></div>
</form>

如何在 my_controller 中获取这些值以及如何显示回视图?

谢谢你的帮助

4

3 回答 3

1

你的表格

<form method="post" action="/my_controller/my_action" class="button_to" data-remote="true"       data-type="script">
  <input type="text" name="value1">
  <input type="text" name="value1">
  <div><input value="Show" type="submit" /></div>
</form>

您的显示 div 标签

<div id="feeds"></div>

你的行动

def my_action
   @value1 = params[:value1]
   @value1 = params[:value2]
   respond_to do |format|
      format.js
   end       
end

你的看法 my/my_action.js.erb

$('#feeds').prepend("<%= j ("<p>#{@value1}-#{@value2}</p>") %>");
于 2012-08-11T19:12:18.080 回答
0

使用jquery的ajax方法

$.ajax({
 url:'/path/to/controller',     
 type:'GET',
 data:{formData:$('form').serialize()},
 success:function(data){
 //do what ever with the response
 }

});

此外,您可以附加错误事件处理程序

http://api.jquery.com/jQuery.ajax/

于 2012-08-11T15:51:11.207 回答
0

我试图编辑@MuhammetDILEK 的答案,这几乎对我有用。但是,我需要使用data-type="script"而不是data-type="json"表单,如下所述: https ://stackoverflow.com/a/15115551/3472491

于 2014-04-14T18:02:07.303 回答