首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

AJAX + PHP 實作進度條(含 readyState 狀態說明)

     編輯:PHP 綜合知識

readyState 狀態碼

值狀態說明
0未初始化尚未呼叫 open()
1已建立已呼叫 open(),未呼叫 send()
2已發送請求已送出,正在處理
3處理中回應已有部分資料可用
4完成請求完成,回應就緒

JavaScript 核心程式碼

var xmlHttp;
function create() {
    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // IE
    } else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest(); // 非 IE
    }
}
function Request(url) {
    xmlHttp.open("GET", "for.php?id=" + url, true); // true = 非同步
    xmlHttp.onreadystatechange = ip985;
    xmlHttp.send(null);
}
function ip985() {
    if (xmlHttp.readyState == 1) {
        document.getElementById('IP985').innerHTML = "請求已建立,準備發送……";
    }
    if (xmlHttp.readyState == 4) {
        var v = xmlHttp.responseText;
        document.getElementById('ip985').innerHTML = v;
    }
}

說明

  • 利用 readyState 變化更新頁面提示,模擬進度條效果。
  • 實際專案中可結合伺服端回傳進度百分比,配合 readyState==3 即時更新。
  • IE 使用 ActiveXObject,現代瀏覽器使用 XMLHttpRequest。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved