如何获得ajax响应更改rails应用程序中的html内容

Posted

技术标签:

【中文标题】如何获得ajax响应更改rails应用程序中的html内容【英文标题】:how to get ajax response change the html content in rails app 【发布时间】:2013-06-23 06:30:26 【问题描述】:

我正在使用这样的 ajax 表单

<%= form_tag :url =>  :action => 'run' ,:id => "tool-form",:remote =>true,:update =>  :success => "response", :failure => "error" ,:loading => "$('#loading').toggle()", :complete => "alert(123)"  do %>
                    <% submit_tag "mona"%>
                <% end %>

ajax 调用完成后,如何使用接收到的数据作为响应并设置为某个 html 元素

【问题讨论】:

您是否有任何理由从您的角度运行 javascript?这是在 html.erb 还是 js.erb 中? 好吧,我还没有真正意识到这一点,所以我在我的视图页面中使用了脚本,但现在我知道脚本应该在 js.erb 文件中, 【参考方案1】:

在你的视图文件夹中,创建一个名为_run.js.erb的部分,并将你要应用的js放到成功的页面上。

在你的控制器中:

def run
  @data = "important data"

  render :partial => 'run'
end

在 views/controller/_run.js.erb 中,其中 controller 是您的控制器的名称

alert("<%= @data %>");

【讨论】:

按照你说的,没有任何反应

以上是关于如何获得ajax响应更改rails应用程序中的html内容的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Rails 的 JSON 响应中包含 cookie?

Rails-如何获得我的远程表单以JS响应?

如何在 rails3.1 中使用 ajax?

如何获得我的AJAX响应以执行点击事件?

如何中断 Rails 中的 AJAX 请求?

Rails ajax 响应和 DELETE 方法