2011-08-16 19 views
9

olduğunda aşağıdaki jQuery Ajax aramanız var: ajax çağrı devam ederkenEkran 'yükleme' görüntü AJAX çağrı devam

$.ajax({ 
        type: "POST", 
        url: "addtobasket.php", 
        data: "sid=<?= $sid ?>&itemid=" + itemid + "&boxsize=" + boxsize + "&ext=" + extraval, 
        success: function(msg){ 
        $.post("preorderbasket.php", { sid: "<?= $sid ?>", type: "pre" }, 
        function(data){ 
         $('.preorder').empty(); 
         $('.preorder').append(data); 
        }); 
        } 
       }); 

Ben bir resmi görüntülemek istiyorum. Bunu nasıl yapabilirim? Sadece $ .ajax() bu aramadan önce görüntüyü ve sonra gizlemek/sadece .empty()/önce yazılan işleyici işlevine (görüntüyü kaldırın. Ekleme (veri olabilir

+0

olası kopyası [Yükleme resmini yükleme $ .ajax uygulandığında] (http://stackoverflow.com/questions/4684722/show-loading-image-while-ajax-is-performed) – AXMIM

cevap

27

bu deneyin:

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
     $('#loading') 
      .hide() 
      .ajaxStart(function() { 
       $(this).show(); 
      }) 
      .ajaxStop(function() { 
       $(this).hide(); 
      }); 
    }); 
</script> 

<div id="loading"> 
     Loading.... 
</div> 

Bu, ajax isteğinde bulunduğunuz her seferde yükleme resmini gösterecek, bu div'u sayfamın üst kısmına yerleştirdim, bu yüzden sayfa ile engellenmiyor, ancak ajax çağrısının ne zaman gittiğini her zaman görebilirsiniz üzerinde.

+3

Not * Bu, * any * ajax istekleri devam ederken yükleme divunu gösterecektir. –

5

şey (showLoadingImage ve hideLoadingImage size kalmış bulunmaktadır).

// show the loading image before calling ajax. 
showLoadingImage(); 

$.ajax({ 
    // url, type, etc. go here 
    success: function() { 
     // handle success. this only fires if the call was successful. 
    }, 
    error: function() { 
     // handle error. this only fires if the call was unsuccessful. 
    }, 
    complete: function() { 
     // no matter the result, complete will fire, so it's a good place 
     // to do the non-conditional stuff, like hiding a loading image. 

     hideLoadingImage(); 
    } 
}); 
+4

Ayrıca bir beforeSend parametresi de var ajax nesnesinde –