2012-02-21 3 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? Д = баран, который проходит значение й выборок данных из базы данных Как модифицирует Аякс, чтобы отобразить погрузочное изображение

ответ

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 вар TotalSize = // получить его из исходного запроса после – Vineeth

+0

вы сделать другой запрос ajax, передать имя изображения, PHP должен получить размер изображения в байтах и ​​повторить его как ответ. –

+0

sir, я пытался получить данные из базы данных. Если пользователь.php отправит запрос для выбора данных. Затем, как найти итоговое значение – Vineeth

Смежные вопросы