【问题标题】:How can I send Javascript events back to Rails to process?如何将 Javascript 事件发送回 Rails 进行处理?
【发布时间】:2009-06-02 01:26:44
【问题描述】:

如果我的 Javascript 层中有用户交互,我可以让 Javascript 操作触发 Rails 控制器操作并将数据从 Javascript 传递到那些 Rails 方法吗?

【问题讨论】:

    标签: javascript ruby-on-rails client-server


    【解决方案1】:

    是的。您使用XMLHttpRequest 对您的Rails 应用程序进行异步调用,通常是通过Prototype 或其他一些Javascript 库。您使用查询参数将数据传回服务器,就像任何其他请求一样,您的应用程序会返回浏览器用来更新页面相关部分的 HTML 片段或 Javascript 代码。

    PrototypeHelper 类对于在服务器中生成正确的内容很有用。 Ajax.Request 是您将在客户端上使用的。

    【讨论】:

    • 非常有帮助。谢谢。所以基本上 Ajax.Request 是从客户端发送 XMLHttpRequest 与我的 Javascript 数据作为查询参数,然后在我的控制器中我使用 PrototypeHelper 将接收到的查询参数转换为我的应用程序可以理解的数据?
    • 你已经差不多了。传入的数据看起来像一个常规请求,数据在 params[] 中。您可以使用 request.xhr? 检查它是否是 XMLHttpRequest。 PrototypeHelper 是一个视图助手;它为您提供了产生部分响应的便捷方法,因此您不必重新发送整个页面。
    • 谢谢。这会让我开始。
    【解决方案2】:

    我相信您可以将 AJAX 请求返回给您的控制器。 Rails 默认包含原型,因此您可以使用它的 AJAX 功能 (http://www.prototypejs.org/api/ajax/request)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多