@GaserV

Почему не отправляется ajax?

Почему не отправляется? "Uncaught TypeError: Illegal invocation"
function senddata(s) {

  var serial  = new FormData( $("#getpresent-form") );
  present = $(s).data('present');

  $('.thanks-page').addClass('active');
  
  $('.close-form').click();

  setTimeout(function(){
    $('.thanks-page').removeClass('active');
  }, 3000);

  $.ajax({

    url: 'test.php',
    type: 'post',
    data: serial,

    success: function(data){
      alert('Ваше сообщение отправлено!');
      console.log(data);
    },
    error: function(data){
      console.log(data);
    }

  });
}
  • Вопрос задан
  • 373 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
или
var serial  = new FormData( $("#getpresent-form")[0] );

или
data: $("#getpresent-form").serialize(),
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@mc_marsel
Наверно потому что у тебя Ajax не прикручен ни к одному из событий.
$('.close-form').click();
- например вот к этому.
Ответ написан
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
var serial  = new FormData( $("#getpresent-form") );

Замените эту строчку на:
var serial  = new FormData( $("#getpresent-form").get(0) );

jQuery возвращает обертки над DOM
FormData - нативный конструктор и про jQuery ничего не знает
Ответ написан
@GaserV Автор вопроса
Вообщем рабочим вариантом стало serializeArray() + push) Спасибо всем!)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект