Я создал загрузчик для своего приложения, но с чем-то борюсь.
Каждые 3 секунды мой AJAX-скрипт вызывает мой ASP-страницу checkProgress.asp, чтобы проверить, сколько файлов находится в этой папке за времязагрузить, он также проверяет, есть ли там текстовый файл с именем complete.txt.
Когда подсчет завершен, он отправляет ответ обратно сценарию AJAX с чем-то вроде «Файл 2 загружен ...» иЧерез 3 секунды он отправит «Файл 3 загружен ...» и так далее.Если файл complete.txt найден, он будет возвращать «Complete» вместо подсчета.Когда-то это работало нормально, а после этого, похоже, не работало должным образом.Я получаю «завершенное» сообщение, как и должно, но не получаю ответ о прогрессе подсчета файлов.
Я запустил страницу checkProgress вручную с новым окном браузера, чтобы увидеть, почему моя панель прогресса не обновлялась с прогрессом, изаметил, что значок загрузки браузера просто вращался, и когда загрузка закончилась, всплыло «Complete».Так что вызов AJAX не доходил до страницы, чтобы собрать количество файлов, потому что он был занят, что меня смущает, потому что все, что делает эта страница - это подсчет количества файлов в папке.
Может кто-нибудь подсказатьчто я делаю не так?Разве это просто не произойдет, пока эта папка добавляется?
Вот мой AJAX-скрипт.Это начинается, когда начинается загрузка:
var upload1ProgressCheckInt = setInterval(function() {
var postData = "token="+token;
$.ajaxSetup ({ cache: false });
$.ajax({ type : 'GET', url : 'ajax/checkProgress.asp',
dataType : 'html', data : postData,
success : function(data) {
if (data == "Failed") {
$('#upload1ProgressStatus').html('Error: Upload cancelled!');
clearInterval(upload1ProgressCheckInt);
// do stuff
} else if (data == "Complete") {
$('#upload1ProgressStatus').html('Success: Files uploaded');
clearInterval(upload1ProgressCheckInt);
// do stuff
} else {
$('#upload1ProgressStatus').html(data);
}
}
}); // end ajax
}, 3000);
и эта страница checkProgress.asp:
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists(Server.MapPath("../files/photos/"&token_&"/complete.txt"))) = True Then
Response.Write "Complete"
Else
Set folder = FSO.GetFolder(Server.MapPath("../files/photos/"&token_&"/"))
Set files = folder.Files
fileCounter = files.Count
Response.Write "File "&fileCounter&" uploaded..."
End If