Здравствуйте!
В общем у меня уже недели две как кризис не могу идти дальше
А дело вот в чём. Раньше-то я работал с ajax и всё нормально было. Теперь потребовалась обработка большого числа строк для сайта заказчика. Ну понятное дело обработчик в php файле и всё работает. Но, поскольку строк достаточно много, обязательно требуется прогрессбар... и вот тут начинается самое интересное. У меня не получается его организовать даже с банальным циклом for и sleep... Ну я понимаю, что делаю лишь бы что.... покажу. Таймер прикручивал, пробовал через кукисы... толку нет. Мне бы понять механизм, как таймер из скрипта срабатывает.... В интернете полно уроков по загрузке файла, а по работе со строками нет
$(document).ready(function(){
$('#start-data').submit(function(event){
event.preventDefault();
var form = $(this);
var data = form.serialize();
$("#start-data").hide();
$("#progress").show();
$.ajax({
type: "POST",
dataType: "text",
url: 'functions.php',
async: true,
data: data,
success:function(html) {
if (Cookies.get('errorflag')==1) {
console.log('bad');
}
else {
console.log('good');
}
},
error: function (jqXHR, exception) {
var msg = '';
if (jqXHR.status === 0) {
msg = 'Нет соединения.\n Проверьте подключение к Интернету.';
} else if (jqXHR.status == 404) {
msg = 'Искомая страница не найдена. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Запрос JSON не найден.';
} else if (exception === 'timeout') {
msg = 'Истекло время ожидания скрипта!';
} else if (exception === 'abort') {
msg = 'Ajax запрос прерван.';
} else {
msg = 'Неизвестный тип ошибки!.\n' + jqXHR.responseText;
}
msg = msg+"\n<strong>Если не можете сами исправить пишите мне!</strong>"
$('#error').show();
$('#error').append(msg);
}
});
setTimeout(function run() {
var timer = Cookies.get('Timer');
if (timer < 99){
if ($("#progress div").css("width") != timer) $("#progress div").css("width", timer+"%");
setTimeout(run, 1000);
}
else {
$("#progress").hide();
$("#result").show();
}
}, 1000);
});
});
И functions.php
$progress = 0;
for($i=0;$i<100;$i++){
sleep(2);
$progress = $i;
}
echo $progress;
Хотя бы подскажите что читать... Спасибо!