嗨,我正在使用ajax加载数据库内容。我想显示加载或图像的总百分比。
这是我的脚本
function name1(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","user.php?q="+str,true);
xmlhttp.send();
}
user.php?q=ram,它正在传递一个值。并从数据库中获取数据如何修改ajax以显示加载图像
没有简单的方法可以做到这一点,因为您无法通过javascript知道响应的实际大小。
您可以做的是:-向php发出第一个请求,并让它只发送图像的总字节大小-然后,在你的函数name1()中,你必须给xmlhttp对象一个onprocress回调,HTML5处理这个:
var totalsize = //get it from a initial post request
xmlhttp.onprogress = function(response){
var percentage = response.responseText.length / totalsize * 100;
//update the progress bar, with that value...
};
然后你的onreadystatechange,处理最后一块数据。。。