如何将延迟的ajax数据获取到rails视图

Posted

技术标签:

【中文标题】如何将延迟的ajax数据获取到rails视图【英文标题】:How to get delayed ajax data to rails view 【发布时间】:2018-06-28 15:54:38 【问题描述】:

我有一个 api 操作需要大约 10 秒来检索数据。我使用警报来验证数据是否确实存在,我的问题是如何正确地将其发送到 rails 视图以显示。这是我的 js sn-p

 $.ajax(
    type:"GET",
    url:"pages/splunk_bf_data",
    action:"splunk_bf_data",
    dataType:"json",
    success:function(data)
      alert(data);
      splunk_bf_data = data;
    
  )

慢动作位于单独的页面“pages/splunk_bf_data”上,因此该页面可以快速呈现。

【问题讨论】:

问题到底出在哪里?你在哪方面苦苦挣扎? 我的问题是我的无知,哈。我不太明白这个概念,我猜肯定有一个 div,或者我可以分配给它的变量,我可以传递给 rails 视图,并且一旦数据进入,也可以刷新页面......只是不知道该怎么做或从哪里开始。 【参考方案1】:

很好..现在您的数据在成功回调中。现在以您想要的方式将数据附加到 html 元素中。如果你有这样的 div..

<div class="data-container">
<div>

然后你想在 div 中显示数据,

 $.ajax(
    type:"GET",
    url:"pages/splunk_bf_data",
    action:"splunk_bf_data",
    dataType:"json",
    success:function(data)
      var html = '<p>' + data.yourData + '</p>'
      $('.data-container').html(html); //insert the content inside your <div>
    
  );

【讨论】:

以上是关于如何将延迟的ajax数据获取到rails视图的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Rails 控制器添加延迟以进行测试?

Rails 4.2 从活动作业中获取延迟的作业 ID

休眠延迟加载的 JSF2 + Ajax EL 问题

Rails 3 延迟作业 - 升级到 Rails 3 会中断延迟作业任务

在某些代码完成执行后延迟 $ajax 调用

延迟href执行点击直到ajax调用之后