Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.11.2010, 14:40
Аватар для space
Интересующийся
Отправить личное сообщение для space Посмотреть профиль Найти все сообщения от space
 
Регистрация: 29.10.2010
Сообщений: 10

Кроссбраузерная отправка файла
Доброго дня.

Подскажите, есть ли кроссбраузерное решение отправки файла без использования IFRAME и подключения дополнительных библиотек (только силами XHR) ?

Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 09.11.2010, 14:45
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Нет.

Непонятно чем iframe не устраивает, писать дополнительный js-код практически не надо.
Ответить с цитированием
  #3 (permalink)  
Старый 09.11.2010, 14:48
Аватар для space
Интересующийся
Отправить личное сообщение для space Посмотреть профиль Найти все сообщения от space
 
Регистрация: 29.10.2010
Сообщений: 10

можете привести пример скрипта ?
Ответить с цитированием
  #4 (permalink)  
Старый 09.11.2010, 14:55
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

<iframe style="width: 1px; height: 1px; position: absolute; left: -999px" name="f"></iframe>
<form ... target="f">...</form>
Ответить с цитированием
  #5 (permalink)  
Старый 09.11.2010, 15:24
Аватар для space
Интересующийся
Отправить личное сообщение для space Посмотреть профиль Найти все сообщения от space
 
Регистрация: 29.10.2010
Сообщений: 10

Недавно начал изучать JS. Ещё многое не понятно ,к сожалению.
Покажите, пожалуйста, полный пример вместе с javascript))
Ответить с цитированием
  #6 (permalink)  
Старый 09.11.2010, 15:59
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Это полный пример. Отправка будет работать и без JS, разве что индикации окончания загрузки не будет.
Ответить с цитированием
  #7 (permalink)  
Старый 09.11.2010, 16:42
Аватар для space
Интересующийся
Отправить личное сообщение для space Посмотреть профиль Найти все сообщения от space
 
Регистрация: 29.10.2010
Сообщений: 10

спасибо, разобрался.
А как получить содержимое элемента IFRAME после загрузки файла на сервер?
Ответить с цитированием
  #8 (permalink)  
Старый 09.11.2010, 16:45
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Проще всего создать функцию что-то вроде
function onIframeLoad(param1, param2) {
    alert('Файл загрузился. Сервер сказал ' + [param1, param2]);
}


А в iframe отдавать код, вида
<script type="text/javascript">top.onIframeLoad('Тут всякие данные от сервера', 'Можно несколько параметров, как удобней');</script>
Ответить с цитированием
  #9 (permalink)  
Старый 10.11.2010, 10:17
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Можно еще отдавать сервером ответ HTTP/1.1 204 No Content. Этот статус заставляет браузер не уходить с текущей страницы и ничего на ней не менять.

Огромный минус — сервер может что-то вернуть клиенту только установив новую куку, к тому же, не возникает никаких событий по успешной отправке. Ну, и плюс (то есть, минус), если страница к моменту отправки формы была недогружена, она не догрузится никогда.

Так что, старый-добрый iframe.
Ответить с цитированием
  #10 (permalink)  
Старый 10.11.2010, 16:05
Аватар для space
Интересующийся
Отправить личное сообщение для space Посмотреть профиль Найти все сообщения от space
 
Регистрация: 29.10.2010
Сообщений: 10

Kolyaj,
Спасибо, все получилось по вашему совету. Фото загружается и оповещение по результату работает.

subzey,
Спасибо за ответ)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение из тектового файла Jackky Общие вопросы Javascript 14 30.06.2012 01:00
Отправка файла на сервер tyta AJAX и COMET 2 18.04.2010 09:16
Как получить имя файла и изменить его? nedosalivan Общие вопросы Javascript 5 29.03.2010 17:51
Отправка локального файла JIEXA AJAX и COMET 9 07.02.2010 18:18
отправка файла через обработчик события submit starrich AJAX и COMET 2 13.08.2008 22:29