【问题标题】:Call file in Rails with Ajax使用 Ajax 在 Rails 中调用文件
【发布时间】:2016-02-25 03:18:45
【问题描述】:

我正在努力学习在 Rails 中使用 Ajax。

在我的 Index.html.erb 文件中:

function loadDoc() {
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function a() {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
          document.getElementById("demo").innerHTML = xhttp.responseText
        }
      };
      xhttp.open("GET", "ex.html.erb", true);
      xhttp.send();
    }

<button type="button" onclick="loadDoc()">click</button>

<p id="demo"></p>

在 ex.html.erb 文件中是:

<%= @a=1 %>

在浏览器中,它只是显示的内容是:,它不是“1”。那是错的吗?

我是 Rails 的新手,所以对我有什么好处,我在 Rails 中做 Ajax 哪种方式好? (我想调用文件并执行许多操作:搜索、索引或对数据库执行某些操作)

【问题讨论】:

    标签: ruby-on-rails ajax ruby-on-rails-4


    【解决方案1】:

    如果您希望 Rails 处理您的响应,那么您应该使用 Rails 结构。你这样做的方式,你只是请求一个文件,它可以正常工作,为你提供文件,但不是你需要的。

    我会这样做:

    1) 创建一个控制器,比如说随便,使用

    $ rails g controller Whatever ex
    

    这将使用方法创建 app/views/whatever/ex.html.erbapp/controllers/whatever_controller.rb

    def ex
    end
    

    还有一条路线

    get 'whatever/ex'
    

    在您的 config/routes.rb 中。

    2) 现在你可以改变你的代码和说的那一行

    xhttp.open("GET", "ex.html.erb", true);
    

    现在必须说

    xhttp.open("GET", "whatever/ex", true);
    

    我认为这会满足您的需求。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-27
    • 2023-03-23
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多