gpt4 book ai didi

javascript - 无需刷新的RoR召回功能

转载 作者:行者123 更新时间:2023-11-29 21:49:58 24 4
gpt4 key购买 nike

当我生成我的 View 时,我从 twitter 中检索了一个推文列表,其中包含类似的内容:

# Print tweets from list_id
<% @twitter_client.list_timeline(list_id).each do |tweet| %>
<%= tweet.text %>
<br />
<% end %>

此结果是静态的,您只会获得此列表的最后 20 条推文。但是我希望它每分钟自动刷新一次。不刷新整个页面怎么可能召回它?

我想到了 Ajax,但它是由 rails 生成的 View ,那么 Ajax 怎么能只调用这个特定的函数呢?

谢谢你的建议

最佳答案

Ajax 通常发出请求,然后用结果更新页面的部分。它可以向您的 Rails 应用程序发出请求,而 Rails 应用程序又可以向 Twitter 发出请求,取回一些数据,生成一大块 html,然后将其作为对 ajax 查询的响应的一部分发回。

原来是这样

浏览器javascript

  • 向/twitter_clients/123 发出等待响应的 ajax 请求

Rails 服务器:

  • 获取对“/twitter_clients/123”的请求,该请求获取到例如 twitter_clients#show 的路由
  • twitter_clients#show 操作加载必要的数据以进行 Twitter API 调用,进行调用,然后取回一些数据。
  • 在显示操作的 format.js 处理程序中,用部分“twitter_clients/feed”替换 ID 为“twitter_feed”的 div。

(实际上, Controller 使用该部分数据构建一段 html,然后将其发送回 ajax 请求(耐心等待它),告诉请求“获取这段文本并使用它将替换 ID 为“twitter_feed”的 div 的内容。)

回到浏览器:

  • ajax 响应返回,javascript 将 #twitter_feed div 替换为响应的内容。

关于javascript - 无需刷新的RoR召回功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29775335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com