Показать сообщение отдельно
  #1 (permalink)  
Старый 17.11.2014, 17:26
Аспирант
Отправить личное сообщение для happy_Mikhail Посмотреть профиль Найти все сообщения от happy_Mikhail
 
Регистрация: 31.10.2013
Сообщений: 34

Не понимаю, что происходит с ответом сервера на ajax запрос, если кто сталкивался под
Предыстория: мне нужно отслеживать ответы сервера в реальном времени и выводить их на страничку
клиент - пример

var last_response_len = 0;
    $.ajax("mailer.php", {
        xhrFields: {
            onprogress: function(e) {
                var this_response,
                    response = e.currentTarget.response;

                if(!!last_response_len === false) {
                    this_response = response;
                    last_response_len = response.length;
                } else {
                    this_response = response.substring(last_response_len);
                    last_response_len = response.length;
                }

                console.log("pis data: " + this_response);
            }
        }
    }).done(function(data) {
        console.log("end : " + data);
    }).fail(function(data) {
        console.log("error: ", data);
    });

    console.log("request send.");


и вот, что у меня происходит, если не использовать usleep выводятся на экран две записи первая пустая вторая первая запись массива.

если использовать задержку то по ведение такое, при секундной задержке рассылается 300 писем потом отваливается по таймаут

если использовать примерно четверть секунду рассылается примерно 100-150 писем и так же отваливается.


Из-за чего клиент не успевает обрабатывать ответы сервера?

Последний раз редактировалось happy_Mikhail, 18.11.2014 в 10:06.
Ответить с цитированием