@nailpaw

Как реализовать отправку файлов с помощью сериализации ajax?

Здравствуйте, сделал форму, через ajax на php обработчик текст передает без проблем, а вот картинку в обработчике не видит, если убрать ajax запрос и делать с помощью action все работает, но мне нужен именно ajax serialize.

Код аякс:
<script>
                        function formGet() {
                            var dar   = $('#formCom').serialize();
                            $.ajax({
                                type: 'post',
                                url: 'тут юрл',
                                data: dar,
                                success: function(data) {
                                    $('#form').html(data);
                                },
                                error:  function(xhr, str){
                                    alert('Возникла ошибка: ' + xhr.responseCode);
                                }
                            });
                        }
                    </script>


сама форма:
<form method="post" id="formCom" enctype="multipart/form-data">
<textarea name="textForm" ></textarea>
<input type="file" id="ipfile" name="inputfile">
<input type="button" onclick='formGet();' value="Оставить форму">
</form>


обработчик var_dump($_FILES) . '' . var_dump($_POST);

Переменная файлс пустая по итогу, как сделать правильно, чтобы работало с сериализацией
  • Вопрос задан
  • 307 просмотров
Пригласить эксперта
Ответы на вопрос 1
Видимо, вам нужно https://stackoverflow.com/a/8244082:
var fd = new FormData();    
fd.append( 'file', input.files[0] );

$.ajax({
  url: 'http://example.com/script.php',
  data: fd,
  processData: false,
  contentType: false,
  type: 'POST',
  success: function(data){
    alert(data);
  }
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы