jquery - 使用 AJAX 的 Ruby on Rails 网站部分

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

我正在使用 Rails 创建一个网站。我计划通过 ajax 获取网站的一些内容。

例如,像 stackoverflow 上的“最近收件箱消息”这样的部分似乎是使用 ajax 获取的。我计划做的是在右上角有一个个人资料按钮,当用户将鼠标悬停在它上面时,我会获取选项(注销等..)。

执行此操作的符合 Rails 标准的方法是什么?我应该遵循哪些类结构?

例如,我是否有一个 ProfileMenuController 并使用该类来处理 AJAX 调用?路由和模板(.erb)文件怎么样?

PS:- 这不是关于如何使用 Rails 进行 AJAX。我问的是类结构等。Web 上的 Rails AJAX 指南将显示可能创建 REST 资源、获取资源等的示例。例如,我想知道的是,我们是否创建一个单独的 Controller 来处理配置文件菜单?或者是否有另一种方式支持这种功能?

最佳答案

如果您想向网站添加诸如通知或其他“实时”功能之类的内容,您将无法仅使用 ajax 来实现

Ajax只处理您发送到服务器的请求;它无法“监听”来自服务器的更新


文本/事件流

您正在寻找一种方法来“监听”来自服务器的 text/event-stream content-type 内容。执行此操作的唯一方法是使用 SSE's (Server Sent Events) ,或websockets 。这两种技术都使用 Javascript,但“监听”更新,而不是直接发送更新

它的工作方式是使用 javascript 创建到服务器的“连接”,然后您的 Web 框架会将 text/event-stream 内容类型中编码的更新“发送”到听众。您为私有(private)提供数据的方式是使用 pub/sub pattern (创建不同的 channel )

如果您愿意,我可以详细说明您如何使用 Rails 做到这一点 - 如果您愿意,请发表评论!

这里还有一个很棒的教程来描述它:http://www.html5rocks.com/en/tutorials/eventsource/basics/

关于jquery - 使用 AJAX 的 Ruby on Rails 网站部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23443858/

相关文章:

javascript - 如何避免一次点击中对同一 URL 的多个 AJAX 请求?

ruby-on-rails - 如何将angularjs属性放入rails erb

ruby-on-rails - Ruby on Rails : Ajax to Refresh Partial Not Working

javascript - 将功能应用于当前点击并删除其他点击的功能

javascript - jsfiddle中如何进行外部调用?

ruby-on-rails - Rails 4 Checkbox helper-table - Many_to_many

c# - 在 asp.net 网站的更新面板内自动将文件上传到服务器

javascript - AngularJS 从其他域请求 JSON

javascript - 使用 .done 与异步 : false? 同义

javascript - Fakeloader 之前显示的网页片段