我正在努力实施此post中概述的解决方案,但无法使其发挥作用。
application.js
$(document).ready(function(){
$.ajaxSetup({
beforeSend:function(){
$('#loading').show();
},
complete:function(){
$('#loading').hide();
}
});
});
application.html.erb
<div id="loading" style="display:none;"><img src="/img/ajax-loader-circle.gif" ></br></br>Please wait...</div>
从我的表单中,我添加了:remote => true
,我可以看出是在查看Rails日志时发出了一个AJAX调用。但是,beforeSend show
从未被触发过。想法?
答案 0 :(得分:2)
我建议使用:
$('#loading').ajaxStart(function(){
$(this).show();
}).ajaxStop(function(){
$(this).hide();
});
或者如果您想要特定的表单ID:
$('#someFormID')
.ajaxStart(function() {
$('#loading').show();
})
.ajaxStop(function() {
$('#loading').hide();
});
确保它包装在DOM就绪块中(就像你已经完成的那样)。这些都是我的一个应用程序的工作示例。