-1

これはおそらく非常に標準的なものであり、これに関する投稿がまだないことに本当に驚いています。重要:私は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();
        })
}

ajaxが終了するloading...までdivが表示されないのはなぜですか? ロード前に表示させ、戻りオブジェクトが送信されると消えるようにしようとしています。

4

2 に答える 2

1

beforeSend コールバックを使用する

例:

$.ajax({
        type    : "POST",
        url : "load.php",
        beforeSend: function(){ $('body').append('<div id="status">loading...</div>'); }
    })
于 2013-07-15T23:09:52.833 に答える
0

こうすればいいのに…

#status を設定するだけですdisplay:none;

じゃあこうして…

 $('#status').show();
 $.post('load.php', function(response){
   $('#status').hide();
   out = $.parseJSON(response);
 });
于 2013-07-15T23:09:25.943 に答える