Javascript 使用XMLHttpRequest向数据库添加记录

Javascript 使用XMLHttpRequest向数据库添加记录,javascript,php,jquery,ajax,xmlhttprequest,Javascript,Php,Jquery,Ajax,Xmlhttprequest,我有以下表格: <form id="form" name="form"> <img id="close" src="images/3.png" onclick ="div_hide()"> <h2>Grade</h2> <hr> <input id="fn" name="fn" placeholder="Facu

我有以下表格:

            <form id="form" name="form">
            <img id="close" src="images/3.png" onclick ="div_hide()">
            <h2>Grade</h2>
            <hr>
            <input id="fn" name="fn" placeholder="Faculty number" type="number">
            <select id="grade_type" name="grade_type">
                <option value="test" selected="selected">Тест</option>
                <option value="attendance">Attendance</option>
                <option value="homework">Homework</option>
            </select>
            <input id="grade" name="grade" placeholder="Points" type="number">
            <a href="javascript:%20check_empty()" id="submit">Add record</a>
            </form>
getuser.php文件的内容包括:

<?php
    require "config.php";

    $fn =  $_GET["fn"];
    $grade = $_GET["grade"];
    $type = $_GET["grade_type"];

    echo "<script type='text/javascript'>alert('$fn');</script>";

    try {
        $conn = new PDO("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME, DB_USERNAME, DB_PASSWORD);
    }
    catch(PDOException $e) {
        die("Database connection could not be established.");
    }


    $sql = $conn->prepare("SELECT * FROM students WHERE fn = ?");
    $sql->execute(array($fn));
    if($sql->rowCount() > 0) {
        $statement = $conn->prepare("INSERT INTO points (student_fn, type, grade, datetime)
                                    VALUES (?, ?, ?, CURRENT_TIMESTAMP)");
        $statement->execute(array($fn, $type, $grade));
    }
    else {
        echo "<script type='text/javascript'>alert('No such fn');</script>";
    }
    $conn = null;
?>

然而,我认为它从未被执行,因为我从未看到警报的结果。我以前从未使用过XMLHttpRequest,所以我甚至不知道我的代码是否有效。非常感谢您的帮助。

您可以使用jquery来完成这项工作

$('#submit').click(function(){
    $.ajax({
        url: 'getuser.php',
        type: 'GET',
        data: $('#form1').serialize(),
        success: function(result){
             alert("Your data has been uploaded");
           }

     });         

});

确保您需要像这样将jquery文件添加到您的网站

您是否收到了alertxmlhttpreq;?是的,我得到了提示,为什么您有行文档.getElementById'form'.submit;??表单没有消失,否则,我不知道这样做是否正确如果我理解正确,您正在尝试将表单数据保存到数据库?
$('#submit').click(function(){
    $.ajax({
        url: 'getuser.php',
        type: 'GET',
        data: $('#form1').serialize(),
        success: function(result){
             alert("Your data has been uploaded");
           }

     });         

});