我目前首次學習AJAX,與經典ASP混合使用。AJAX/ASP - 更新進度面板 - Response.Flush
我有一個AJAX腳本,調用我的ASP頁面(process.asp)。在ASP文件中是一個1到1000之間的簡單循環,它描繪了我的網站中其他地方的圖像處理,我想在後面添加AJAX。
AJAX腳本
function processItems()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("notification").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","processItems.asp",true);
xmlhttp.send();
}
ASP頁
Response.Expires = -1
i = 0
Do Until i = 1000
i = i + 1
Loop
Response.Write "Process complete"
在它工作正常的那一刻,當進程已經完成了它寫一條消息給用戶 「過程完成」。 ..但是,因爲有很多項目需要處理,我想告訴我的用戶哪個項目正在處理中,例如「處理項目17的1000」。
我讀過,我需要「Response.Flush」來執行這項任務,所以......
我可以用「.flush」在我的ASP腳本的環部,顯示出項目數量(一世)?如果是的話,我還需要別的嗎?如果不是,有人可以解釋我需要做些什麼才能使其工作?
這是我的想法是:
Response.Buffer = True
Response.Expires = -1
i = 0
total = 1000
Do Until i = total
i = i + 1
Response.Write "Processing Item "&i&" of "&total&""
Response.Flush
Loop
很多感謝