2015-09-13 3 views
0

Я пытаюсь реализовать индикатор выполнения с AJAX, и я получаю ZERO вывод из кода. Мне было интересно, может ли кто-нибудь сообщить мне, чего я могу потерять.Ajax Progress bar при загрузке

$("#uploadSubmitBtn").click(function(){ 
    var formData = new FormData($("#mediaUploadForm")[0]); 
    var usersFiles=$("#uploadBtn")[0].files; 
    formData.append('usersUpload', usersFiles); 
    $.ajax({ 

     //for our progress bar... 
     xhr: function() { 
     //var xhr = new window.XMLHttpRequest(); 
      var xhr = $.ajaxSettings.xhr(); 
      xhr.upload.addEventListener("progress", function(evt) { 
       alert("attempting progress calculation.."); 
       if (evt.lengthComputable) { 
        var percentComplete = Math.round((evt.loaded * 100/ evt.total)); 
        console.log("percent completed = " + percentComplete); 
       } 
      }, false); 
      return xhr; 
     },//end xhr function 

     //other stuff 
     url : "upload", 
     type : 'post', 
     data : formData, 
     async : false, 
     cache: false, 
     processData: false, 
     contentType: false, 
     success : function(resp){ 
      $('#msgBoxText').text(resp); 
      $('#msgBox').slideDown("slow"); 
     }, 
    }); 
});//end of submitting media 

ответ

0

так что похоже, что значение async истинно решило проблему. поэтому код снизу теперь выглядит так $.ajax({ url : "upload", type : 'post', data : formData, async : true, cache: true, processData: false, contentType: false,

Спасибо тем, кто хотя бы посмотрел :)