0

有没有人知道一个很好的指南或示例让我了解如何使用 ajax 更改屏幕上的数据?

我有一个存储最后一个@event_status 的 div,我想每 5 分钟获取一次创建的最后一个事件状态,并使用 ajax 在 div 中显示它。

<div id="last_status">
    Last Status: 
    <% if @event_status.present? %>
        <span id="last_status_content">[<%= @event_status.user.initials %> @ <%= @event_status.created_at.strftime("%I:%M%p") %>]<br />
            Audio: <%= @event_status.audio ? 'Good' : 'None' %> |
            Video: <%= @event_status.video ? 'Good' : 'None' %> |
            <% if @event_status.notes.present? %>
                Notes: <%= @event_status.notes %>
            <% else %>
                Notes: No Notes
            <% end %>
        </span>
    <% else %>
        <span id="last_status_content">None</span>
    <% end %>
</div>
4

1 回答 1

0

您可以使用 javascript 定期调用操作并将内容放入 div。首先将您的 last_status div 的内容提取为部分内容,然后从控制器操作中返回所述部分内容。

页面中的 Javascript:

$(document).ready(
  function() {
    setInterval(function() {
      $('.last_status').load('/controller_name/action_name');
    }, 36000);
  }
);

然后,您的控制器操作需要初始化部分使用的所有变量,然后渲染部分。

def my_action
  @event_status = get_latest_event
  render :partial => 'my_partial'
end
于 2013-08-01T15:21:47.067 回答