jquery - Rails 4 中的 Ajax 加载微调器

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

我在 rails 中发送一个 ajax 请求,我收到了我的数据表的一些数据

ajax 触发发生在链接标签上使用 remote: true

这是 index.js.erb(ajax 调用是在这上面进行的)

$('.lessons_table').removeClass('hidden');
$('.lessons').empty();

<% @lessons.each do |l| %>
  $('.lessons').append('<tr>');
  $('.lessons').append('<td><%= l.id %></td>');
  $('.lessons').append('<td><%= best_in_place l, :title, url: "lessons/#{l.id}", cancel_button: 'X' %></td>');
  $('.lessons').append('<td><%= best_in_place l, :duration, url: "lessons/#{l.id}", cancel_button: 'X' %></td>');
  $('.lessons').append('<td><%= best_in_place l, :video, url: "lessons/#{l.id}", cancel_button: 'X' %></td>');
  $('.lessons').append('<td><%= best_in_place l, :course_id, url: "lessons/#{l.id}", cancel_button: 'X' %></td>');
  $('.lessons').append('<td><%= link_to "Remove", admin_course_path(l), method: :delete, data: { confirm: "Are you sure?" }%></td>');
  $('.lessons').append('</tr>');
<% end %>

应用程序.js

$(document).ready(function () {
// hide spinner
  $(".spinner").hide();

  $(document).ajaxStart(function() {
    $(".spinner").show();
  }).ajaxComplete(function() {
      var $loading = $(".spinner");
      setTimeout(function(){
          $loading.hide();
      },1000); //Timeout so you can see the loading happen
  });
});

index.html.erb

<div class="spinner">Loading</div>

我想要的是,当我单击链接以检索此数据时,我希望在指定的时间段内出现一个加载文本或一个 css 微调器,当该微调器或文本消失时,数据就会出现。

我尝试了 application.js 中的代码,但它无法正常工作。

最佳答案

为了将来引用,这是对我有用的,不需要计时器等。只要 ajax 请求未完成,它就需要。

$(".spinner").hide();

  $(document).ajaxStart(function() {
    $(".spinner").fadeIn('slow');
  }).ajaxStop(function() {
      $(".spinner").hide();
  });

关于jquery - Rails 4 中的 Ajax 加载微调器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31640646/

相关文章:

javascript - 如何实现我的 JavaScript 表单想法?

ruby-on-rails - 使用 Money gem 使用表单选择设置货币

ruby - Ruby 1.9.3 中 here 文档的语法是否不同?

javascript - 使用 Ajax 更新 Rails 中的元素

ruby - Ruby 1.9.3 使用什么编码来解析使用 backtics 的 shell 命令的输出?

JavaScript 不会更改 iframe src(使用 Bootstrap 前端)

jquery - jQuery中的$(this)不是循环变量?

javascript - jQuery Ajax 返回未定义

ruby-on-rails - Rails 访问模型中模块中的共享自定义验证

ruby-on-rails - Rails 使用assert_select 验证类的存在