在ajax发送之前显示图像并在完成时隐藏

时间:2015-09-20 12:54:16

标签: jquery ajax

我用无限滚动加载我的帖子,当我发送ajax时我显示加载图像,当它完成时 - 图像必须隐藏,但它在我们加载的页面末尾不起作用。 ajax功能代码的一部分:

beforeSend: function( xhr){
                $('body').addClass('loading');
                if(!$('.loader').length > 0) {
                $('.latest').append('<div class="loader"><i class="icon">!</i></div>');

                $('.loader').addClass('loading').show();
                }

            },
            success:function(data){
                if( data ) { 
                    $('body').removeClass('loading');
                    $('.latest .items').delay(200).append(data);

                    $('.loader').hide();

                    current_page++;
                }
            }

代码有什么问题,为什么当最后一个ajax方法发送时图像剂量隐藏?

解决方案:

感谢您的帮助,您使用complete:function() { }来隐藏我的形象!

1 个答案:

答案 0 :(得分:1)

使用以下代码.hope将适合您。你应该包括complete:标签来隐藏你的数据。

$ .ajax({url:'action.php',                     数据:{},                     输入:'post',

                beforeSend: function() {
                    // This callback function will trigger before data is sent
                   // This will show ajax spinner
                },
                complete: function() {
                    // This callback function will trigger on data sent/received complete
                    // This will hide ajax spinner
                },
                success: function (result) { 
                    if(result=="success") {
                        $.mobile.changePage("#Flexilast20");                         
                    } else {
                        alert(result); 
                    }
                },
                error: function (request,error) {
                    // This callback function will trigger on unsuccessful action                
                    alert('Network error has occurred please try again!');
                }
            });