Как использовать метод jquery $ .post () для отправки значений формы

У меня есть 1 главная страница с формой и другая страница для обработки значения формы здесь являются исходными кодами двух страниц

Страница формы:

<meta charset="UTF-8"> <title>Form Page</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form action="process.php" method="post" id="reg-form"> Username: <input type="text" id="username" name="username"> <br> Password: <input type="password" id="password" name="password"> <br> <button type="submit" id="submit-btn">Traditional Submit</button> <button type="button" id="post-btn">$.Post Submit</button> </form> <script> $("#post-btn").click(function(){ $.post("process.php",function(data){ alert(data); }); }); </script> 

Страница процесса:

 <?php $username=$_POST["username"]; $password=$_POST["password"]; echo "Username: ".$username; echo "<br>"; echo "Password: ".$password;?> 

если я нажимаю кнопку «Традиционная подача», он работает отлично.

но когда я нажимаю кнопку «$ .Post Submit», я просто получаю сообщение об ошибке msg «Notice: Undefined Index …»

Я не могу понять, где проблема, пожалуйста, пожалуйста, помогите проверить и исправить, спасибо заранее!

Вы также должны выбрать и отправить данные формы:

 $("#post-btn").click(function(){ $.post("process.php", $("#reg-form").serialize(), function(data) { alert(data); }); }); 

Взгляните на документацию по методу serialize jQuery, которая кодирует данные из полей формы в строку данных, которая должна быть отправлена ​​на сервер.

Получите значение ваших текстовых полей с помощью val() и сохраните их в переменной. Передайте эти значения через $.post . При использовании $.Post Submit button вы можете удалить форму.

 <script> username = $("#username").val(); password = $("#password").val(); $("#post-btn").click(function(){ $.post("process.php", { username:username, password:password } ,function(data){ alert(data); }); }); </script> 

У Yor $.post нет данных. Вам необходимо передать данные формы. Вы можете использовать serialize() для публикации данных формы. Попробуй это

 $("#post-btn").click(function(){ $.post("process.php", $('#reg-form').serialize() ,function(data){ alert(data); }); });