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)

skrudjmakdak 25.06.2013 20:33

danik.js, вот.. iframe...
а человек говорит про аякс.. это разные вещи!

Deff 25.06.2013 21:32

Цитата:

Сообщение от skrudjmakdak
это разные вещи!

http://ru.wikipedia.org/wiki/AJAX

skrudjmakdak 25.06.2013 22:46

это мне ссылка?? если мне, то нафига??))

derbass 25.06.2013 23:12

Мужики, харЭ ссориться, лучше делом помогите))

Deff 26.06.2013 00:28

<iframe name="myframe"  style="display:none"></iframe>

<form id="post" method="post" action="/post.php" target="myframe">
<input type="file" name="file"><br/>
<input type="submit">
</form>

derbass 26.06.2013 00:41

Форма есть, спасибо. Есть даже обработчик в самом php файле (работа с файлом или массивом файлов), Сейчас дам код, и поясню чего нет.
function order(action) {

    var name = $("#name").val();
    var tel = $("#tel").val();
    var company = $("#company").val();
    var city = $("#city").val();
    var email = $("#email").val();

    var fileAttach = document.getElementById('fileAttach').value;
  
   $.post('/send.php', {'action':action, 'name':name, 'tel':tel, 'company':company, 'city':city, 'email':email, 'fileAttach':fileAttach}, function(data) {
        if(data==='1') {
            $(".answer").html("Заявка отправлена! Спасибо за Ваш заказ!");
            $(".answer").hide();
            $(".forms").hide();
	    window.location = "http://www.domen.ru/success/";
        }
        else {
            alert(data);
        }
        
    });

Вырвал значения из формы сюда, и передаю их дальше, в файл обработчик. Как их сюда можно перетянуть?
P.S. файл приложен не целиком, т.к. там много разных параметров, лишний мусор, хотел показать принцип формирования данных

Deff 26.06.2013 01:36

<iframe name="myframe"  style="display:none" onload="Donetest(this)"></iframe>

<form id="post" method="post" action="/send.php" target="myframe">
<p><input name="action" value=""/> action</p>
<p><input name="name" value=""/> name</p>
<p><input name="tel" value=""/> tel</p>
<p><input name="city" value=""/> city</p>
<p><input name="email" value=""/> email</p>

<p><input type="file" name="fileAttach"> fileAttach</p>
<input type="submit">
</form>
<script type="text/javascript">
function Donetest(frame) {
 alert($(frame).contents().find("body").html()); //тут проверяем, - что вернулось
}
</script>

danik.js 26.06.2013 06:17

derbass, как быстрое решение, попробуй подключить jquery.form.js и использовать $(form).ajaxForm() (или как там, в общем смотри доки) вместо $.post

danik.js 26.06.2013 06:18

Цитата:

Сообщение от skrudjmakdak
это мне ссылка?? если мне, то нафига??))

Чтобы ты узнал что
Цитата:

Сообщение от skrudjmakdak
iframe...
а человек говорит про аякс

- это не
Цитата:

Сообщение от skrudjmakdak
разные вещи


skrudjmakdak 26.06.2013 09:04

ну да.. я скопирую ту инфу из википедии:

AJAX — не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:
использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например:
- с использованием XMLHttpRequest (основной объект);
- через динамическое создание дочерних фреймов;
- через динамическое создание тега <script>.
- через динамическое создание тега <img>, как это реализовано в google analytics.

но задача то изначально ставилась отправка через $.post на сколько я понял. а этот метод использует как я понимаю XMLHttpRequest..

или я не прав?


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