这可能是非常标准的,我真的很惊讶没有关于此的帖子。重要提示:我不使用jQuery UI,因此寻找实现此目的的最简单方法:
function loadAjax(){
$('body').append('<div id="status">loading...</div>');
var out = '';
$.ajax({
type : "POST",
url : "load.php", // i'm mimicking slow network by using sleep(3) in the php
async : false // yes, false! No clue why but my stuff won't work otherwise
})
.done(function(response) {
out = $.parseJSON(response);
$('#status').remove();
})
}
为什么{<1}} div在完成ajax之后才出现?我试图在加载之前显示,然后在发送返回对象时消失。
答案 0 :(得分:1)
使用beforeSend回调
示例:
$.ajax({
type : "POST",
url : "load.php",
beforeSend: function(){ $('body').append('<div id="status">loading...</div>'); }
})
答案 1 :(得分:0)
我这样做......
只需将#status设置为display:none;
然后这样做......
$('#status').show();
$.post('load.php', function(response){
$('#status').hide();
out = $.parseJSON(response);
});