加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用PHP MySQL中的jQuery AJAX提交表单而无需重新加载

发布时间:2020-12-13 17:50:15 所属栏目:PHP教程 来源:网络整理
导读:我有一个基本的注册/登录页面,用 PHP将数据提交到SQL数据库.但是,我希望页面不要在jQuery AJAX的帮助下重定向(无论是否成功). 这就是我目前所拥有的,它无法正常工作.它不显示任何错误消息. HTML – signup.html !DOCTYPE htmlhtml lang="en"head titleSignup
我有一个基本的注册/登录页面,用 PHP将数据提交到SQL数据库.但是,我希望页面不要在jQuery AJAX的帮助下重定向(无论是否成功).

这就是我目前所拥有的,它无法正常工作.它不显示任何错误消息.

HTML – signup.html

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Signup</title>
    <meta charset="utf-8">
</head>
<body>
    <form>
        <table>
            <tbody>
                <tr>
                    <td>
                        <input type="text" name="first" placeholder="First Name" id="first">
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="text" name="last" placeholder="Last Name" id="last">
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="submit" value="Signup" id="signup">
                    </td>
                </tr>
            </tbody>
        </table>
    </form>
</body>
</html>

JavaScript – signup.js

function submit() {
    $("form").submit(function(e) {
        e.preventDefault();
        $.ajax({
            type: 'POST',url: 'signup.php',data: $('form').serialize(),success: function() {
                console.log("Signup was successful");
            },error: function() {
                console.log("Signup was unsuccessful");
            }
        });
    });
}

$(document).ready(function() {
    submit();
});

PHP – signup.php

<?php
  include_once "db_connect.php";

  $post_FirstName = $_POST['first'];
  $post_LastName = $_POST['last'];

  $addData = "INSERT INTO details (firstname,lastname) VALUES ('$post_FirstName','$post_LastName')";

  if ($conn->query($addData) === TRUE) {
    echo "Working";
  } else {
    echo "Not working";
  }
?>

这是JSFiddle.

我希望你们能帮忙.提前致谢 :)

解决方法

如果您使用的是ajax,则无需使用输入类型作为提交使用按钮.

$(document).ready(function() {
$("#signup").click(function(e) {
    e.preventDefault();
    $.ajax({
  type: 'POST',data: $('form').serialize()
  success: function() {
    console.log("Signup was successful");
  }
  error: function() {
    console.log("Signup was unsuccessful");
  }
});
});

也在这里改变

$post_FirstName = $_POST['first']; // name is `first` not `firstname`

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读