javascript - Ajax 和 Json 与 Rails

标签 javascript jquery ruby-on-rails ajax rjs

我遵循了Hartl's Rails tutorial他使用 RJS 执行 Ajax,并在响应中发送 javascript 以在客户端执行以编辑 DOM。

但是,如果您只想在响应中发送 JSON,而不发送 javascript,该怎么办?这也意味着操作 DOM 的 JavaScript 应该已经在客户端的 html 文件中。有没有像 Hartl 一样好的教程 book关于如何在 Rails 中执行此操作。大概它会使用 Jquery 和其他一些我可能没有听说过的东西来使代码不超过一百万行?

最佳答案

我对答案的最佳尝试是,这实际上取决于您想要实现的目标的范围和复杂性。一般来说,JSON 出现在 View 中。如果您的应用程序不需要动态检索 JSON,也就是说,您可以在 View 最初渲染时加载所有内容,那么您可以在 View 的 Controller 中设置一个实例变量,如下所示 @my_json = some_object.to_json() 然后,您的实例变量就可以在您的 View 中使用

    <script type = 'text/javascript'>
        var theJSON = <%= @my_json %>
    </script>
   

现在,您的数据在 DOM 中可用,并很好地解析为 JSON。

如果您的应用程序要求您在加载 Controller / View 后动态检索 JSON,那么您可能应该考虑使用 AJAX 来访问特定 Controller 的方法,该方法会返回您想要的 JSON。

这里有一个很好的 RailsCast,希望可以帮助您 Passing Data to Javascript

关于javascript - Ajax 和 Json 与 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12378682/

相关文章:

javascript - 使用表单操作将哈希 '#' 符号附加到 url?

javascript - 如果依赖项留空,应用程序将无法工作;如果依赖项完全删除,应用程序将工作

javascript - 如何覆盖 d3.js 图表函数行为?

javascript - 防止在jQuery中重复提交表单

jquery - 源/背景网址/?

ruby-on-rails - 无法按名称和主键搜索

ruby-on-rails - 出现奇怪的 'undefined method ' 错误

javascript - 如何根据 "rank"对象属性重新分配列表(在 typescript 中)?

javascript - 无法在动态创建的元素上绑定(bind)函数

ruby-on-rails - 有效的 TDD 策略包括哪些部分?