Reputation: 2088
I am trying to create a progree update module when users save some data from my html5 front end. I have the following code but it does not seem to work. I just don't get any percentcompleted values. Any ideas why this might be failing.
The webservices are c# asmx services.
$.ajax({
xhr: function()
{
if (window.ActiveXObject) {
return new window.ActiveXObject("Microsoft.XMLHTTP");
}
else {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function (evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
//Do something with upload progress
console.log(percentComplete);
alert(percentComplete);
}
}, false);
xhr.addEventListener("progress", function (evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
console.log(percentComplete);
alert(percentComplete);
}
}, false);
return xhr;
}
},
type: "POST",
url: "../service.asmx/SaveSession",
cache: false,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(DTO),
dataType: "json",
async:false,
success: function (response) {
result = response;
IsDataDirty = false;
},
});
Upvotes: 0
Views: 557
Reputation: 186
use code below :
{
xhr: function() {
var xhr = $.ajaxSettings.xhr();
if (xhr.upload) {
xhr.upload.addEventListener('progress', function(e) {
var percentage = event.loaded / event.total * 100;
//.....
}, false);
}
return xhr;
});
}
Upvotes: 1