В настоящее время я впервые изучаю AJAX в сочетании с Classic ASP.
У меня есть сценарий AJAX, который вызывает мою страницу ASP (process.asp).В файле ASP есть простой цикл между 1 и 1000, который изображает процесс изображения, который у меня есть в другом месте на моем сайте, к которому я хотел бы добавить AJAX позже.
AJAX SCRIPT
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 PAGE
Response.Expires = -1
i = 0
Do Until i = 1000
i = i + 1
Loop
Response.Write "Process complete"
В момент, когда он работает нормально, когда процесс завершается, он пишет сообщение пользователю "процесс завершен"... но, поскольку есть много элементов, которые нужно обработать, я хотел бы сообщить своему пользователю, какой элемент в настоящее время обрабатывается, например, "элемент обработки 17 из 1000".
Я прочитал, что мне нужно 'Response.Flush 'для выполнения этой задачи, поэтому ...
Могу ли я использовать ".flush" в циклической части моего ASP-скрипта, чтобы отобразить номер элемента (i)?Если да, нужно ли мне что-нибудь еще?Если нет, может кто-нибудь объяснить, что мне нужно сделать, чтобы заставить его работать?
Вот о чем я думал:
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
Большое спасибо заранее