2012-02-21 110 views
1

您好我正在使用ajax加载数据库内容。我想显示加载或图像的总百分比。在ajax中显示加载百分比的进度条,php

这是我的脚本

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来显示图像加载

回答

0

没有办法做到这一点,因为你无法通过javascript知道实际响应的大小。

你可以做的是: - 做的第一请求到PHP,并将其发送图像的唯一的总字节大小 - 那么,你的函数名1()里面,你必须给XMLHTTP对象onprogress回调,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,处理数据的最终块...

+0

如何申请PHP VAR总计TOTALSIZE = //从最初的post请求 – Vineeth 2012-02-21 16:48:03

+0

得到它,你做一个其他的Ajax请求,传递这个名字的图像,让PHP以字节为单位获取图像大小,并将其作为响应进行回显。 – 2012-02-21 16:52:05

+0

先生,我试图从数据库中获取数据。在这里user.php将发送请求选择数据。然后如何在php中找到总计大小为 – Vineeth 2012-02-21 17:03:55