首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用ajax提交表单,而不使用ajax也可以轻松完成相同的任务

无法使用ajax提交表单,而不使用ajax也可以轻松完成相同的任务
EN

Stack Overflow用户
提问于 2020-09-02 03:58:41
回答 1查看 41关注 0票数 0

我一直在尝试使用ajax提交表单到相同的.php文件,当我没有ajax的时候,像直接的表单操作,那么数据库就被更新了,但是当我用ajax做同样的事情时,数据库没有变化。

HTML

代码语言:javascript
复制
    <form id="myfrm" autocomplete="off" style="margin-left:20px" method="POST" action="" enctype="multipart/form-data">
              <div class="row">
                <div class="col-lg-12">
                  <div class="form-group">
                    <textarea class="form-control required" name="personal-msg" type="text" placeholder="Your Personal Message"></textarea>
                  </div>
                </div>
                <div class="col-lg-6">
                  <div class="form-group">
                    <input class="form-control required" type="text" name="name" placeholder="Full Name">
                  </div>
                </div>
        <button type="submit" name="submit" class="btn btn-md btn-block btn-danger-gradiant text-white border-0"><span> Create Account</span></button>
    
    
    </form>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/js/bootstrap.bundle.min.js"></script>
  <script src="assets/js/script.min.js"></script>
  <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.js" type="text/javascript"></script>

JS

代码语言:javascript
复制
$(document).on('submit', '#myfrm', function(e) {
  $("html, body").animate({
    scrollTop: 0
  }, 200);
  $("#wait").css("display", "block");

  $.ajax({
    type: $(this).attr('method'),
    data: $(this).serialize(),
    success: function(html) {
      $('#test').html(data);
      setTimeout(function() {
        $("#wait").css("display", "none");
        $(".main").remove();
        $(".right-image").remove();
        $(".reg-success").show();

      }, 2000);
    },
    error: function(xhr, status, error) {
      var err = JSON.parse("(" + xhr.responseText + ")");
      alert(err.Message);
    }
  });
  e.preventDefault();
});

PHP

代码语言:javascript
复制
 <?php
    if (isset($_POST["submit"])) {
                
      $name = $_POST['name'];
      $email = $_POST['email'];
    
        //database stuff
}
     ?>

这是代码的一部分,全部保存在一个名为example.php的文件中

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-02 04:05:14

$(this).serialize()不序列化提交按钮。因为你需要它为你的服务器端检查,你将不得不添加它

代码语言:javascript
复制
data: $(this).serialize()+'&submit=ajax',
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63694623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档