2017-08-11 38 views
0

Comment ajouter un écouteur d'événement progress à une requête prototype Ajax?Comment ajouter un écouteur d'événement progress à une requête prototype Ajax?

Je ne trouve rien dans le doc prototype de cette ..

J'ai trouvé quelques exemples en utilisant jQuery, mais pas avec le prototype.

new Ajax.Request('/some_url', { 
method:'get', 
onSuccess: function(transport) {..}, 
onFailure: function() {..} 
}); 

utilisant jQuery:

$.ajax({ 
xhr: function() { 
    var xhr = new window.XMLHttpRequest(); 

    // Upload progress 
    xhr.upload.addEventListener("progress", function(evt){ 
     if (evt.lengthComputable) { 
      var percentComplete = evt.loaded/evt.total; 
      //Do something with upload progress 
      console.log(percentComplete); 
     } 
    }, false); 

    // Download progress 
    xhr.addEventListener("progress", function(evt){ 
     if (evt.lengthComputable) { 
      var percentComplete = evt.loaded/evt.total; 
      // Do something with download progress 
      console.log(percentComplete); 
     } 
    }, false); 

    return xhr; 
}, 
type: 'POST', 
url: "/", 
data: {}, 
success: function(data){..} 
}); 

Répondre

1

Voici un exemple que j'utilise dans mon code pour faire le téléchargement de fichiers AJAX

new Ajax.Request('backend.php',{'method':'get','onCreate':function(t){ 
    t.transport.upload.onprogress = function(event){ 
     if(event.lengthComputable) 
     { 
      console.log((event.loaded/event.total * 100 | 0)+'%'); 
     } 
    } 
},'onSuccess':function(result){ 
    console.log("success") 
}}); 
+0

Merci! J'ai aussi ajouté 't.transport.onprogress = function (event) {..}' – vhanahrni