@rusgayfer

Не могу получить данные кнопки через ajax, как получить?

Проблема в том, если сделать if(isset($_POST['fio'])), то все работает, а если if(isset($_POST['reload'])) то не видит кнопку, как исправить чтобы я мог отследить по name кнопки?

if(isset($_POST['reload'])) {
   $answer = [
	  'code' => 'ok',
	  'message' => "<div class=\"callout callout-success\">Успешно.</div>",
	];
	echo(json_encode($answer));
	die();

}


<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

<form method="post" class="my_form" id="my_form" enctype="multipart/form-data">
  <label for="fio">Ф.И.О:</label>
    <input type="text" name="fio" id="fio"><br><br>
  <button type="submit" id="submit" name="reload" value="reload">Отправить</button>
</form>
<div id="okey"></div>
<script>


$(function(){
  $('#my_form').on('click', function(e){
      e.preventDefault();
      var $that = $(this),
      formData = new FormData($that.get(0)); // создаем новый экземпляр объекта и передаем ему нашу форму (*)
	  $.ajax({
      url: $that.attr('action'),
      type: $that.attr('method'),
      contentType: false, // важно - убираем форматирование данных по умолчанию
      processData: false, // важно - убираем преобразование строк по умолчанию
      data: formData,
      dataType: 'json',
      success: function(data){  
	  
    if( data.code == "ok" ) {
    $('#okey').html(data.message);
     }
    
      }
    });
  });
});
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 1
neuotq
@neuotq
Прокрастинация
Значение кнопки игнорируется так как вы нестандартным путем передаете форму , в качестве решения можете попробовать проверить:
for (var value of formData.values()) {
   console.log(value); 
}

Как быть?
Создать скрытый инпут, и в момент нажатия кнопки давать этому инпуту её(кнопки) значение, после этого формировать formData и отправлять все на сервер.
Либо уже сам formData дополнять необходимым значением:
formData.append(btnName,btnValue);

Пример здесь.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
21 мая 2024, в 22:38
4000 руб./за проект
21 мая 2024, в 22:37
3000 руб./за проект
21 мая 2024, в 22:35
5000 руб./за проект