进度条显示加载百分比在ajax,php

您好我正在使用ajax加载数据库内容。我想显示加载或图像的总百分比。</ p>

这是我的脚本</ p>

  function name1(str)
{
if(str.length == 0)
{
document.getElementById(“txtHint”)。innerHTML =“”;
return;
}
if(window.XMLHttpRequest)
{//代码用于IE7 +,Firefox,Chrome,Opera,Safari
xmlhttp = new XMLHttpRequest ();
}
else
{// IE6的代码,IE5
xmlhttp =新的ActiveXObject(“Microsoft.XMLHTTP”);
}

xmlhttp.onreadystatechange = function()
{
if if( xmlhttp.readyState == 4&amp;&amp; xmlhttp.status == 200)
{
document.getElementById(“txtHint”)。innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open(“ ?GET”, “user.php的q =” + STR,TRUE);
xmlhttp.send();吗?
}
</代码> </ PRE>

user.php的q = ram,它传递一个值。并从数据库中获取数据
如何修改ajax以显示加载图像</ p>
</ div>

展开原文

原文

Hi i am using ajax for loading database content .I want to display the total percentage of loading or image.

This is my Script

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 , which is passing a value .And fetch the data from database How to modify ajax to to display the loading image

1个回答



没有简单的方法可以做到这一点,因为你无法通过javascript知道响应的实际大小。</ p>

你可以做的是:

  • 向php发出第一个请求,让它只发送图像的总字节大小
  • 然后,在你的函数name1()中,你必须给出 xmlhttp对象一个onprogress回调,HTML5处理这个:</ p>

      var totalsize = //从初始发布请求中获取它

xmlhttp.onprogress = function(response){
var percentage = response.responseText.length / totalsize * 100;
//更新进度条,使用该值...
};
</ code> </ pre>

然后 你的onreadystatechange,处理最后的数据块...... </ p>
</ div>

展开原文

原文

there is no easyway to do this, as you can not know the real size of the response by javascript.

What you can do is: - make a first request to php, and have it send only the total bytes size of the image - then, inside your function name1(), you have to give the xmlhttp object a onprogress callback, HTML5 handles this:

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...
};

then your onreadystatechange, handles the final chunk of data...

doushu9253
doushu9253 在php中,在第一个请求中,而不是echo $ data; 做echo strlen($ data);
8 年多之前 回复
duanhai7274
duanhai7274 先生,我试图从数据库中获取数据。这是user.php将发送选择数据的请求。然后如何找到totalsize
8 年多之前 回复
dreamevil0002
dreamevil0002 你做了另一个ajax请求,传递图像的名称,让PHP获取图像大小(以字节为单位),并将其作为响应回显。
8 年多之前 回复
dongmo3413
dongmo3413 如何请求php var totalsize = //从初始发布请求中获取它
8 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问