Почему после отправки через ajax не видит POST?

153
15 декабря 2018, 08:50

Подскажите Есть форма

<form class="sms-form" >
<input type="hidden" name="ttns" value="<?php echo $page->crm_ttn?>">
<input type="hidden" name="phone" value="<?php echo $page->crm_phone?>">
<button class="sms" type="submit">send</button>
</form>

Я обрабатываю через ajax

function smsSend() {
  var msge  = jQuery('.sms-form').serialize();
  jQuery.ajax({
    type: 'POST',
    url: '/wp-content/themes/twentysixteen/some.php',
    data: msge,
    success: function(data) {
      alert('Отправлено' + data);
    },
    error:  function(xhr, str){
      alert('Возникла ошибка: ' + xhr.responseCode);
    }
  });
  return false;
}

и когда проверяю в файле . some.php "echo $_POST['ttns']"; ничего не выводит . Что я делаю не так?

перебираю нажатие кнопок так

var formSubmi = document.querySelectorAll('.sms');
  for (i = 0; i < formSubmi.length; i++){
  formSubmi[i].addEventListener('click', function(e){
    e.preventDefault();
    smsSend()
  });
  }
Answer 1

Вместо всех странных кодов которые вешают отдельный обработчик на каждую кнопку и функций, надо сделать вот что:

jQuery('.sms-form').on('submit', function(e) {
  e.preventDefault();
  // `jQuery(this)` это форма которая сабмитится в данный момент
  var msge  = jQuery(this).serialize(); 
  jQuery.ajax({
    type: 'POST',
    url: '/wp-content/themes/twentysixteen/some.php',
    data: msge,
    success: function(data) {
      alert('Отправлено' + data);
    },
    error:  function(xhr, str){
      alert('Возникла ошибка: ' + xhr.responseCode);
    }
  });
}
Answer 2
var formSubmi = document.querySelectorAll('.sms');
  for (i = 0; i < formSubmi.length; i++){
  formSubmi[i].addEventListener('click', function(e){
    e.preventDefault();
    smsSend($(this).closest("form"));
  });
}
function smsSend($form) {
  var msge  = $form.serialize();
  jQuery.ajax({
  ...
READ ALSO
php не загружает большие файлы

php не загружает большие файлы

Мне необходимо загружать файлы с размером ~2гбНа данный момент чтобы я не делал, больше 100мб загрузить не могу

159
загрузка фото пользователя laravel

загрузка фото пользователя laravel

как обработать загрузку фото профиля пользователя

160
Отправка аттача с формы Tilda на почту

Отправка аттача с формы Tilda на почту

Есть форма на тильде, ссылка на форму, к ней надо подсоединить свой скрипт phpСкрипт пишу при помощи phpmail(желание заказчика)

319
Вывод названия таксономии WordPress

Вывод названия таксономии WordPress

Есть сайт на WordPressВ нём присутствует таксономия location

163