iframe transport не передает данные
м используюJQuery-File-Загрузить сJQuery-Iframe-Transport попытаться получить поддержку более старых версий IE.I '
мы установили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.