Safari XHR загружает зависает (иногда) - PullRequest
2 голосов
/ 27 июня 2011

Я создаю сценарий загрузки, используя jquery-File-Upload .

Теперь у меня странное поведение, которое загрузка зависает время от времени (скажем, каждый восьмой раз).Это происходит только в Safari (5.0.5), другие браузеры работают нормально.

Я могу подтвердить, что это НЕ связано с сервером.Проблема возникает перед выполнением любых серверных сценариев.

Иногда загрузка зависает на 2%, иногда на 82%.

Также мне трудно отлаживать.При использовании Charles проблема швов исчезнет.

Любая помощь в отношении проблемы и стратегии отладки приветствуется.

1 Ответ

1 голос
/ 28 июня 2011

Оказывается, это решение от Бен решает проблему.

Если вы используете jquery-File-Upload , это выглядит такэто (осторожно: я использую v4 версию ):

$(function () {
        $('#file_upload').fileUploadUI({
            //some other code
            beforeSend: function (event, files, index, xhr, handler, callBack) {
                $.ajax({
                    async: false,
                    url: 'closeconnection.php'
                });
                callBack();
            }
        });
    });

Где соответствующий PHP-скрипт выглядит так:

<?php
    header("Connection: Close");
?>

WTF ??

Это как-то связано с кэшированием в Safari?Или с все еще открыты POST-запросы ?Дайте мне знать, если у вас есть идеи ...

...