2017-03-08 26 views
1

我需要真的幫助..Django - 阿賈克斯呼籲加載頁面不工作

我不擅長前端,我很迷惑與Ajax。

我試圖做一個Ajax調用,當我點擊我的表的按鈕,所以當我點擊該按鈕時,我的ajax應該顯示我的動畫.gif,因此用戶應該知道該頁面正在加載。

我的模板:

<style> 
    .ajaxProgress{ 
     display:none; 
     text-align: center; 

    } 
</style> 
<div id="output"> 
    <div class="ajaxProgress"> 
    <h3>Please wait..</h3> 
    <img src="{% static 'img/ajax.gif' %}" alt="loading"/> 
    </div> 
</div> 
      {% for item in qs %} 
      <tr> 
      <tbody> 
       <td 
       a id="mqtt" class="btn btn-xs btn-info" title="mqtt" href="javascript: startAjax(){% url 'start_mqtt' item.id %}"><span class="fa fa-signal"></span> </a> </td> 
       </tbody> 
      </tr> 
      {% endfor %} 
     </table> 


     <script> 

function startAjax() { 
    $('.ajaxProgress').show(); 
    $.ajax({ 
     type: "GET", 
     dataType:"json", 
     async: true, 
     data: { csrfmiddlewaretoken: '{{ csrf_token }}' }, 
     success: function(json){ 
      $('#output').html(json.message); 
      $('.ajaxProgress').hide(); 
      GetRating(json.message); 
     } 
    }) 

} 
</script> 

基本上我需要的是,當我打的按鈕應該開始我的.gif注意,但沒有任何反應....

回答

0
var $loading = $('.ajaxProgress').hide(); 
$(document) 
.ajaxStart(function() { 
    $loading.show(); 
}) 
.ajaxStop(function() { 
    $loading.hide(); 
}); 

我喜歡用這種方式

+0

不工作當我點擊按鈕 – User100696

+0

首先檢查加載圖像位於調用show()函數的位置。這可能會顯示,但你看不到。通過改變CSS來確保它在頁面的中間。如果清楚的話,如果你成功地調用了ajax,上面的代碼就可以用於任何ajax調用。 –