Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Закачать файл на сервер с помощью AJAX (https://javascript.ru/forum/jquery/39320-zakachat-fajjl-na-server-s-pomoshhyu-ajax.html)

derbass 25.06.2013 14:53

Закачать файл на сервер с помощью AJAX
 
Есть калькулятор, в котором происходят различные вычисления и прочее, есть форма, в которой человек может оставить свои реквизиты и отправить свои контактные данные с результатами своих вычислений, выбранными позициями. Отправка происходит не через SEND а через $.post. Как можно добавить загрузку файла, что бы в скрипте получить реквизиты, необходимые для обработки в файле php и отправки?

skrudjmakdak 25.06.2013 15:31

эта тема уже обсуждалась, не раз. нет такой возможности, только html5

derbass 25.06.2013 15:38

Ок, а с помощью AJAX загрузки файла?

skrudjmakdak 25.06.2013 15:46

я про это и говорил. через аякс не возможно отправить файл!!
есть объект FormData, но это html5. погуглите

danik.js 25.06.2013 17:26

Цитата:

Сообщение от skrudjmakdak
через аякс не возможно отправить файл

Аякс ведь не обязательно только $.post/$.ajax/$.get .
Изначально это XMLHttpRequest. И XMLHttpRequestUpload можно в ту же тему отнести.

derbass 25.06.2013 17:32

к сожалению необходим $.post, по этому и застрял, и на форум обратился

skrudjmakdak 25.06.2013 17:35

danik.js, и можно грузить без FormData?? и в html4 по моему нельзя выдрать бинарник из инпута тайп файл

danik.js 25.06.2013 17:35

Цитата:

Сообщение от derbass
к сожалению необходим $.post, по этому и застрял, и на форум обратился

Вобще-то файл и будет заливаться методом POST. Причем в не-html5 браузерах можно загружать через скрытую форму. Подобные скрипты гуглятся легко.

danik.js 25.06.2013 17:37

skrudjmakdak, а как раньше грузили? Перекидывали инпут в скрытый iframe (хотя не очень себе представляю как это происходит) и засылали форму. Помоему jquery.form.js такое умеет.

derbass 25.06.2013 17:48

Ок, спасибо за наводку, буду пробовать дальше


Часовой пояс GMT +3, время: 04:42.