iframe transport не передает данные

я используюJQuery-File-Загрузить с участиемJQuery-Iframe-Transport попытаться получить поддержку более старых версий IE.

Я установилforceIframeTransport возможностьtrue так что он ведет себя более или менее одинаково во всех браузерах, но я, похоже, не получаю никаких данных обратно на стороне сервера, независимо от браузера, когда он использует транспорт iframe.

Я выплюнул заголовки запроса на стороне сервера и вернулся:

array(
    Host => "*******"
    Connection => "keep-alive"
    Content-Length => "0"
    Accept => "*/*"
    Origin => "**************"
    X-Requested-With => "XMLHttpRequest"
    User-Agent => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"
    DNT => "1"
    Referer => "***********"
    Accept-Encoding => "gzip,deflate,sdch"
    Accept-Language => "en-GB,en-US;q=0.8,en;q=0.6"
    Accept-Charset => "ISO-8859-1,utf-8;q=0.7,*;q=0.3"
    Cookie => "*********"
)

[*****указана выданная информация; тебе это не нужно;)]

Который выглядит хорошо, но$_REQUEST пуст (т. е.array()), и входной буфер тоже пуст:

$handle = fopen('php://input', 'r');

$file_data = '';

while(($buffer = fgets($handle, 4096)) !== false) {
    $file_data .= $buffer;
}

fclose($handle); // $file_data = '';

Все это работало нормально, когда я не использовал iframe-transport, но мне нужна поддержка IE ... есть ли у кого-нибудь опыт передачи файлов с использованием iframe и может быть известно, почему не поступают данные?

Когда я используюjQuery-File-Upload / js / jquery.iframe-transport.js и форсировать транспорт iframe, он работает в Chrome, но запросы даже не поступают на сервер в IE.

Когда я используюjquery-iframe-transport / jquery.iframe-transport.js и принудительно переносить iframe в Chrome, но это нормально, потому что Chrome поддерживает правильную передачу файлов XHR,а также запросы как минимум попадают на сервер в IEно данные не поступают.

Я обновил свой скрипт для поддержки любого метода передачи:

if(empty($_FILES)) {
    $handle = fopen('php://input', 'r');

    $file_data = '';

    while(($buffer = fgets($handle, 4096)) !== false) {
        $file_data .= $buffer;
    }

    fclose($handle);
} else {
    $file_data = file_get_contents($_FILES['files']['tmp_name'][0]);
}

Но опять же, я все еще не могу получить какие-либо данные в IE независимо от того, что я делаю.

Когда я говорю «IE», я специально тестирую IE 8 прямо сейчас. Мне нужна поддержка обратно до 7, хотя.Этот парень Претензии поддерживаются вплоть до IE 6.

Ответы на вопрос(2)

Ваш ответ на вопрос