Плагин проверки JQuery не отправляет данные POST

Обновление 2: я узнал, что случилось! В файле .htaccess произошла 301 переадресация. Я отправлю его в качестве ответа, как только мне позволено (пользователям до 10 лет приходится ждать 8 часов).


Обновление: я принял предложение Barmar и проверил вкладку в сети (вкладка, с которой я не слишком хорошо знаком), и заметил, что получаю 301 из handle.php См. Снимок экрана. Я собираюсь сделать некоторые поиски и опубликовать свои результаты.

введите описание изображения здесь


Оригинальное сообщение: Я использую плагин проверки JQuery для проверки и отправки данных формы через ajax. Проблема не в том, что данные отправляются, но обработчик формы говорит, что в массиве $ _POST нет элементов. Я проверил несколько разных методов отправки ajax, и данные отправляются, но обработчик формы не видит никаких значений $ _POST [].

Примечание. Я должен использовать плагин проверки JQuery, поэтому он должен обрабатываться .validate.submitHandler (). Любые $(form).on() не будут достаточными.

html + js (index.php)

 <form action="handle.php" class="sky-form sky-form-modal" id="sky-form-modal" method= "post" name="sky-form-modal"> <label class="input"> <input name="name" placeholder="Name" type= "text"> </label> <label class="input"><input name="company" placeholder="Company" type= "text"> </label> <footer> <button class="button" type="submit">Send request</button> <div class="progress"></div> </footer> </form> <script> $("#sky-form-modal").validate({ submitHandler: function(form) { var $form = $("#sky-form-modal"); //being explicit for testing var $inputs = $form.find("input, select, button, textarea"); var serializedData = $form.serialize(); request = $.ajax({ url: "handle.php", type: "POST", data: serializedData }); console.log('data: ' + serializedData); request.done(function(response, textStatus, jqXHR) { console.log("Response: " + response); }); }, }); </script> 

handle.php:

 <?php if(isset($_POST['name'])) { echo 'we got it'; } else { echo 'name not set'; } ?> 

Хорошо, так что кажется, что все работает, проверьте консоль.log после того, как я заполнил имя пользователя и оставил компанию пустым:

 data: name=testtest&company= Response: name not set 

Как вы можете видеть, сериализация работает и захватывает всю информацию, но когда обрабатывается handle.php, он сообщает мне, что $_POST[] пуст. Проникновение через него на handle.php доказывает это:

  foreach($_POST as $key=>$value) { echo "$key: $value \n"; } 

Которая не возвращается вообще. Я также пробовал ajaxSubmit() и form.submit() но получаю точные точные результаты.

Это выглядит правильно для меня, потому что я искал и искал stackoverflow и сталкивался с тем, что большинство проблем с этим связано с атрибутом «name» на входных тегах, который уже сделан.

Заранее спасибо!!

Related of "Плагин проверки JQuery не отправляет данные POST"