2012-02-21 148 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