首页 > 解决方案 > Ajax jquery不发布表单数据

问题描述

当我单击表单上的提交按钮时,我的注册页面会刷新,而不会将表单数据发布到我的数据库中。

我的 HTML 标记看起来像这样 -

  <form id="reg">
<div class="form-group">
  <label style="color: white; text-align:center" for="username">Username</label>
  <input style="color: #C0C0C0;" type="text" name = "username" class="form-control" id="username" placeholder="Enter Username">
</div>
<div class="form-group">
  <label style="color: white; text-align:center" for="password">Password</label>
  <input style="color: #C0C0C0;" type="password" name = "password" class="form-control" id="password" placeholder="Password">
</div>
<div class="form-group">
  <label style="color: white; text-align:center" for="email">Email</label>
  <input style="color: #C0C0C0;" type="text" name = "email" class="form-control" id="email" placeholder="Enter Email">
</div>
<button type="submit" name = "submit" class="btn btn-primary">Submit</button>

还有我的jQuery代码-

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

  <script>

  $('#reg').on('submit', function(e) {
    e.preventDefault 
    $.ajax({
      url:'script/register.php',
      data: $(this).serialize(), 
      type:'POST',
      success:function(results) {
        $(".result").html(results);
      }
    });
  });

  </script>

我不确定我哪里出错了。页面刷新,我在 url 栏中看到表单变量和值。非常感谢您对上述内容的任何帮助。谢谢

标签: javascriptphpjqueryhtmlajax

解决方案


检查您的语法: preventDefault 是一个函数。

 $('#reg').on('submit', function(e) {
    e.preventDefault() <---- Here fails 
    $.ajax({
      url:'script/register.php',
      data: $(this).serialize(), 
      type:'POST',
      success:function(results) {
        $(".result").html(results);
      }  
   });
});

推荐阅读