我有这个ajax帖子脚本。
$('#pagesfilter a').click(function(e){
var realname = $(this).attr("data-realname");
$.ajax({
url: "/ajaxpage",
type: "POST",
dataType: "html",
data: { page: $(this).attr('data-page') },
//cache: false,
async:true,
beforeSend: function() { //show loading animation
$('.whiteblur').show();
$('.windows8').show();
},
complete: function(){ //hide loading animation
$('.windows8').hide();
$('.whiteblur').hide();
},
success: function(data){ //display the requested page
$("#main_content_wrapper").html(data);
$('.breadcrumb .active a').attr("href", "#");
$('.breadcrumb .active a').text(realname);
}
});
$(this).parent().slideUp();
e.preventDefault();
});
正如你在顶部看到的,这是一个html页面类型ajax,我发送一个名为“page”的帖子及其内容,例如“home”,然后服务器将返回home.html和我的内容home.html是html标签(div,a,p,article,h1,h2,h3,h4,section)和脚本声明(例如<script type="application/javascript" src="thispagejavascript.js"></script>
)。
这些脚本对于请求的页面(例如home.html)是必需的,该页面仅运行到请求的页面(例如home.html),并且如果先声明则在当前文档中创建冲突,因此我必须仅在请求的页面时声明它已加载。在收到响应html数据(例如home html)之后,它将被放入id为“main_content_wrapper”的div。
问题:一切正常,除非ajax post请求正常工作,它冻结直到ajax post请求完成并且看起来很糟糕,因为加载动画也冻结了。在完成ajax post请求或页面本身之前,如何才能使加载动画不冻结?
非常感谢任何帮助,线索,想法,建议和建议。