Может ли safari / chrome / opera делать ajax-запросы во время загрузки? - PullRequest
4 голосов
/ 06 июля 2010

В основном я делаю простой ajax-запрос

function upload(){


            setInterval(function callMeOften()
            {
                $.ajax({
                   method: 'get',
                   url : 'uploadinfo.php?unique_id=<?php echo $some_uniq_id; ?>',
                   dataType : 'text',
                   success: function(text){ updatebar(text); },
                   error: function (XMLHttpRequest, textStatus, errorThrown) {
                      alert(XMLHttpRequest.status);
                      alert(XMLHttpRequest.responseText);
                   }
                });

            }, 5000);

        }

        function updatebar(per){

            $('#updateMe').animate({"width" : per});

        }

к php-скрипту

$unique_id = $_GET['unique_id'];
$progress = uploadprogress_get_info($unique_id);

if(function_exists("uploadprogress_get_info")) {


if (floor(($progress['bytes_total']/1024)/1024) > 100){

    echo "run";

} else {

    if ($progress['bytes_uploaded'] == 0 || $progress['bytes_total'] == 0){

        echo "100";

    } else {

        echo floor($progress['bytes_uploaded'] / $progress['bytes_total'] * 100);

    }

}

}

Эта функция upload ();вызывается с помощью onsubmit ();действие формы загрузки файла

<form id="something" onsubmit="upload();" action="status.php" enctype="multipart/form-data" method="post">

Я использую относительные пути, и запрос работает в FF и IE, но в chrome, safari и opera запросы ajax даже не запускаются во время загрузки.

Что происходит?

РЕДАКТИРОВАТЬ: В конце я просто показал прогресс загрузки в отдельном окне, которое было создано с помощью действия onsubmit и изменило размеры и переместилось в центр экранавыглядит хорошо и безусловно самый простой способ

1 Ответ

1 голос
/ 06 июля 2010

Насколько я знаю, может быть два запроса на один домен сервера, может быть активен браузер.То есть, если доменное имя вашего сервера - code.mydomain.com, то одновременно может быть открыто не более 2 запросов.В вашем случае первым является запрос на загрузку файла.Вы должны проверить, есть ли у вас другие активные запросы, кроме загрузки формы в указанных браузерах.

...