"ajax" загрузка файлов.

riff

Новичок
"ajax" загрузка файлов.

Ajax не умеет загружать файлы, поэтому в инете советуют загружать примерно так:
Код:
varr div = document.createElement('div');
//div.style.display = 'none';
var onPost = function() {
  //...
}
div.innerHTML = '<iframe src="about:blank" id="frm_post" name="frm_post" onload="onPost()"></iframe>';
document.appendChild(div);
myForm.setAttribute('target', 'frm_post');
myForm.setAttribute('action', url);
myForm.setAttribute('method', 'post');
myForm.submit();
Вобщем работает. Но есть проблема и не могу найти ответа в гугле:
При отправке больших файлов(ну например 2метра) при не быстром интернете, onload фрейма срабатывает раньше чем загрузка произошла, не пойму почему. Как исправить?
Например в гугловской почте этот же файл при этой же скорости успешно загружается... Может кто-то разбирался с этим? Как они это сделали?
 

newARTix

Новичок
riff
они наверное встроили вызов функции onLoad в результат работы серверного сценария.
а у тебя
При отправке больших файлов(ну например 2метра) при не быстром интернете, onload фрейма срабатывает раньше чем загрузка произошла
срабатывает по причине таймаута php-сценария.
сценарий вылетает по таймауту, сервер возвращает ошибку. а iframe возвращает onload. он ведь не отличает получение ошибки от получения документа.
 

riff

Новичок
Автор оригинала: newARTix
срабатывает по причине таймаута php-сценария.
Спасибо. Только не по таймауту php сценария, а какому-то таймауту апача. Сейчас посмотрел возвращающийся заголовок, он с 500 ошибкой, и фразой типа "close connection" (закрыл уже окно с заголовком).
 

dimagolov

Новичок
riff, смотри в логе php что за ошибка получается в скрипте, что апач отдает 500.
 

riff

Новичок
Нет ошибки в скрипте, точнее до скрипта даже и не доходит т.к. форма не успевает дозагрузиться...
И даже без iframe форма, посланная обычным способом, не успевает отправиться... В логах тихо.
Как мне кажется какой-то таймаут на соединение, только я не знаю что это за параметр и где его искать.
 
Сверху