Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > ajax отправка формы с файлом


Автор: alexesuser 12.3.2024, 07:07
Добрый день. Реализую отправку формы через ajax.

Код

<form  method="post" id="my_form" enctype="multipart/form-data">
     <input type="file" name="avatar" id="attach"><br>
     <input type="text" name="fio" id="fio" value='jopa'><br>
     <input type="button" id="send_but" value="Отправить">
</form>


<script>
$('#send_but').click(function(){

var formData = new FormData($('#my_form')[0]);

$.ajax({
      type: "POST",
      processData: false,
      contentType: false,
      url: "test_ajax.php",
      data:  formData
      })
      .done(function( data ) {
              alert(data);          
      });    
});

</script>


скрипт test_ajax.php возвращает переданные параметры:
Код

<?
print_r($_REQUEST);
?>


В результате отправки формы alert показывает только fio, по файлу информация в php скрипт не приходит.


Автор: bars80080 18.3.2024, 21:34
а какую информацию о файле вы ожидаете увидеть в $_REQUEST ?

вам бы вначале отправить форму с файлом и обработать обычным способом, без аякса. так будет нагляднее и проще отладить. И там посмотреть, что придёт в массив $_FILES
а уже обработав обычную форму, перетащить механизм обработки под аякс

Автор: alexesuser 20.3.2024, 05:01
Понял свою ошибку. Затупил. Файлы передаются в отдельном массиве $_FILES, а я их ожидал в $_REQUEST
 smile  smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)