Как передать файлы с JQuery на регулярной форме - PullRequest
0 голосов
/ 03 апреля 2011

Я получил этот код, мне нужно было бы передать $ _FILES в mail.php со страницы / формы / не передается с этим типом jquery, кто-нибудь?

    function send(datastr){
    $.ajax({    
        type: "POST",
        url: "mail.php",
    data: datastr,
        cache: false,
        success: function(html){
        $("#risposta").fadeIn("slow");
        $("#risposta").css("padding","20px");
        $("#risposta").css("height","auto");
        $("#risposta").css("border","1px solid #c98b18");
        $("#risposta").html(html);
        setTimeout('$("#risposta").fadeOut("slow")',2000);
    }
    });
}

Ответы [ 2 ]

0 голосов
/ 03 апреля 2011

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

Однако вы можете подделать его, используя скрытый iframe.Когда вы отправляете форму, информация отправляется в iframe, который управляет файловой системой сервера.Вот учебник: http://www.openjs.com/articles/ajax/ajax_file_upload/

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

Есть также некоторые плагины.Наиболее известным является jQuery Form Plugin .

0 голосов
/ 03 апреля 2011

Я еще не нашел способ сделать это с AJAX. Банкомат, вам нужно будет генерировать форму на лету. Единственная проблема заключается в том, что пользователю придется выбрать файл, который вы хотите загрузить, а затем оттуда вы можете продолжить автоматизацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...