使用ajax:加载显示gif不工作rails Jquery



我的请求ajax不调用函数来显示加载的gif,我使用一个示例ajax请求,我的js是:

$("#carregar").bind("ajax:loading", function(et, e){
    $(this).hide();
    $("#load_img").show();
});

我使用controller.js.erb的示例方法并加载内容,但GIF不出现,请有什么问题?由于

ajax:loading是由旧版本的jquery-rails附带的JS驱动程序触发的事件。它后来被修改了。如果你使用的是最新版本的Rails,那么你应该绑定到ajax:beforeSend事件。

其他需要考虑的事项:

1) ajax:beforeSend事件的处理程序应该绑定到触发AJAX请求的元素,最有可能是一个FORM元素。

2)当使用jQuery .bind()时,目标元素需要出现在DOM中。确保在绑定事件处理程序之前加载DOM的简单方法是将脚本封装在document ready callback中。

$(document).ready(function(){
  $("#carregar").bind(...)
})

3) Arun关于使用ajaxStart的建议将很好地显示和隐藏ajax加载指示器。

// Show and hide the indicator for every AJAX request.
$(document).ajaxStart(function(){
  $("#load_img").show();
});
$(document).ajaxStop(function(){
  $("#load_img").hide();
});

请参考jQuery文档了解触发的事件。

尝试绑定ajax:before事件而不是ajax:loading

相关内容

  • 没有找到相关文章

最新更新