2012-11-15 111 views
1

除了XMLHttpRequest.responseText.length以外,还有什么办法可以获得AJAX请求的当前下载进度吗?在IE中获取AJAX下载进度

我问这是因为IE只是放弃了“数据尚未提供”的错误。其他浏览器没有问题,但我希望能够至少提供一些进度指示。

回答

0

对于Internet Explorer,progress事件的支持is limited to version 10,但您没有指定y一个版本...

rq.onprogress = function(e) { 
    if(e.lengthComputable) { 
     progressElement.textContent = Math.floor(e.loaded/e.total * 100) + "%"; 
    } 
}; 
0

你应该定义IE等浏览器

if (window.XMLHttpRequest) 
{ 
    req = new XMLHttpRequest(); 
    req.setRequestHeader('Content-Type', 'application/x-www-formurlencoded'); 
    req.send(data); 
} // branch for IE/Windows ActiveX version 

else if (window.ActiveXObject) 
{ 
req = new ActiveXObject('Microsoft.XMLHTTP'); 
. 
. 
. 
} 

单独的对象,你知道有一个以上的XMLHTTP

xmlhttp1.0,2.0,...

,或者你可以make try-catch块

+1

为什么?这对我有什么好处?此外,这只会在过去6年的所有版本的IE中创建一个“XMLHttpRequest”对象... –

+0

ActiveXObject('Microsoft.XMLHTTP')是一个专门用于IE的对象 –

+1

Erm ... that not true自2006年以来,你去过哪里?可能是 –