Изображение в форме не отправляется через ajax - PullRequest
0 голосов
/ 07 апреля 2011

Я добавил файл ввода в форму, и я не могу получить файл, чтобы пройти. Вот форма (минус все остальные поля)

<form method="post" action="ajax_mm_order.php" enctype="multipart/form-data" id="mm_form">
<input id="image_file" type="file" name="photo_for_card" />
<input type="button" id="submit_button" value="Place Order" />
</form>

javascript / jquery, который отправляет его:

$.ajax({
            type: "POST",
            url: "ajax_mm_order.php",
            data: $("#mm_form").serialize(),
            success: function(msg){
                $(".form_style_header").fadeOut("slow");
                $(form_css).fadeOut("slow", function(){
                    $(form_complete).fadeIn("slow");
                });

            }
        });

когда данные формы попадают в ajax_mm_order.php, все остальные данные получаются очень хорошо, но $ _FILES совершенно пуст. Что-то не так с моим вызовом ajax?

1 Ответ

5 голосов
/ 07 апреля 2011

Вы не можете отправить файл через ajax.Наиболее приемлемый способ - это просто прославленный «хак» - многие библиотеки в основном создают iframe, а затем публикуют содержимое этого iframe в свой URL (и, поскольку это только iframe, не вызывает полного обновления родительской страницы).

Я хотел бы найти хорошую библиотеку для загрузки ajax-файлов, которую вы хотите использовать.Мне лично нравится эта библиотека.

...