在Ajax函数上不显示Ajax加载图标 - Codeigniter

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)

Mik*_*ier 5

我建议订阅所有ajax启动/停止事件,而不管是谁负责它:

$("#loading")
    .ajaxStart(function(){ $(this).show(); })
    .ajaxStop(function(){ $(this).hide(); });
Run Code Online (Sandbox Code Playgroud)

一旦有ajax请求就会出现加载,然后在没有ajax请求正在进行时隐藏...

http://api.jquery.com/ajaxStart/

  • `<div id ="#loading"`应该读为`<div id ="loading"` (2认同)