我在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 %>
的application.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微调器,并且当微调器或文本消失时,数据将出现。< / p>
我使用了application.js中的代码,但它无法正常工作。
答案 0 :(得分:2)
为了将来的参考,这实际上对我有用,不需要定时器等。只要ajax请求没有完成就需要它。
equals()