Mik*_*ick 3 ajax jquery codeigniter codeigniter-2
出于某种原因,我的Ajax加载器图标没有显示和隐藏它应该.这是我处理ajax调用的jQuery代码片段.我可以通过Chrome的开发者工具看到#loading DIV ...问题在于jQuery没有显示DIV(内联样式设置为display:nonediv本身).如果我删除内联样式,它会显示它应该在哪里...
我在这里缺少什么?
//website URL grab - Ajax call
$('.loadBTN').on("click", function(){
var check_url = $('#web_address').val();
if (!check_url || check_url == 'http://') { // form validation
//alert('Please enter valid URL');
// Do nothing
return false;
};
var web_url = {
url: $('#web_address').val(),
ajax: '1' // needed for controller, to verify that request is ajax
};
//display ajax loader animation
$('#loading').show();
$.ajax({
url: 'ajax/web_embed',
type: 'POST',
data: web_url,
success: function(msg) {
$('#ajaxContent').html(msg); // output success in this container
$('#loading').hide();
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
我建议订阅所有ajax启动/停止事件,而不管是谁负责它:
$("#loading")
.ajaxStart(function(){ $(this).show(); })
.ajaxStop(function(){ $(this).hide(); });
Run Code Online (Sandbox Code Playgroud)
一旦有ajax请求就会出现加载,然后在没有ajax请求正在进行时隐藏...
见http://api.jquery.com/ajaxStart/