2016-08-23 4 views
3

아약스 요청이 실행되는 동안 div 컨테이너에 아약스로드 이미지를 추가하려고합니다.아약스가 실행되는 동안 이미지로드하기

내 jQuery 코드처럼 보이는 다음

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#store, #gender, #username").change(function() { 
      var store = $("#store").val(); 
      var gender = $("#gender").val(); 
      var receiver = $("#username").val(); 

      $.ajax({ 
       type: "POST", 
       data: { 
        "store" : store, 
        "gender" : gender, 
        "receiver" : receiver 
       }, 
       url: "handling/ajax/store_items_ajax.php", 
       success: function(data){ 
        $("#result").html(data); 
       } 
      }); 
     }); 
    }); 
</script> 

어떻게 다음 HTML DIV에 로딩 이미지를 추가 :

<div id="result" class="col-md-12"></div> 

사람이를 알고 있나요?

+0

가능한 복제 [JQuery와 아약스로드 이미지 (http://stackoverflow.com/questions/8761713/jquery-ajax-loading-image) –

답변

4

논리

- Create progress div element 
<div id="progress"> 
    <img style="width:100%" src="/images/spinner.gif"/> 
</div> 

- By default hide this progress div 
- Show when passing ajax request 
- Hide when you get ajax response 

스크립트

<script type="text/javascript"> 

    $(document).ready(function() { 

     $("#store, #gender, #username").change(function() { 
     var store = $("#store").val(); 
     var gender = $("#gender").val(); 
     var receiver = $("#username").val(); 

     $('#progress').show(); //show progress bar 

     $.ajax({ 
      type: "POST", 
      data: { 
       "store" : store, 
       "gender" : gender, 
       "receiver" : receiver 
      }, 
      url: "handling/ajax/store_items_ajax.php", 
      success: function(data){ 
       $('#progress').hide(); //hide progress bar 
       $("#result").html(data); 
      } 
     }); 
     }); 

    }); 

</script> 
+1

내가 succes 대신 complete 이벤트에서 div를 숨길 것이다. – edbird88

+0

어느 것이 든 당신이 필요로하지만 이것은 강력합니다, 나는 라이브 사이트에서 이것을 구현했고 매력처럼 작동합니다! 바깥쪽에두면 DOM이 기다리지 않고 직접 실행되므로 AJAX 요청/응답을보다 잘 이해할 수 있습니다. 어쨌든, 당신은 지금 해결책이 있기 때문에 그 주위를 놀 수 있습니다. –

+1

또한 전역 .ajaxStart()를 설치하고 각 호출에 여분의 행을 저장할 수 있습니다. https://api.jquery.com/ajaxStart/ – DevlshOne

관련 문제