使用jQuery将数据插入MySQL表

时间:2009-11-18 22:22:37

标签: php mysql jquery

我正试图让它发挥作用,但我遇到了问题。我在这里缺少什么?

我正在尝试通过jQuery将一些数据插入到本地MySQL表中。如果我自己运行save.php,它会在数据库中插入一个空行,这样就行了。有什么想法吗?

**index.php**

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="css/style.css" />

        <script src="jquery.js" type="text/javascript"></script>

        <script type="text/javascript">
            $(document).ready(function() {
                $('form#submit').submit(function () {
                    var nume = $('#nume').val();
                    $.ajax({
                        type: "POST",
                        url: "save.php",
                        data: "nume="+ nume,
                        success: function() {
                            $('#nume').val('');
                        }
                    });
                return false;
                });
            });
        </script>
    </head>

    <body>

        <form id="submit" method="post">
            <p>Nume: <input id="nume" name="nume"  type="text"></p>
            <p><input id="submitButton" type="button" value="Submit"></p>
        </form>

    </body>
</html>


**save.php**

<?php
    mysql_connect('localhost', 'root', 'root') or die(mysql_error());
    mysql_select_db("test") or die(mysql_error());

    $nume = htmlspecialchars(trim($_POST['nume']));

    $add = "INSERT INTO ajax_test (nume) VALUES ('$nume')";
    mysql_query($add) or die(mysql_error());
?>

3 个答案:

答案 0 :(得分:4)

您确定表单正在提交吗?您的按钮不是输入类型=“提交” - 它只是一个按钮。它不会单独提交表格。

答案 1 :(得分:1)

如果Scott Saunders的解决方案不起作用,请尝试:

而不是

url: "save.php",

尝试:

url: "save.php?nume=testvalue",

如果这也不起作用,请检查您的PHP脚本是否从$_GET['nume']或$ _POST中读取输入值  而不是$_REQUEST['nume']

答案 2 :(得分:1)

您可以采取一些措施来帮助进行问题排查。

alert("submit");之后粘贴提醒$('form#submit').submit(function () { 以查看表单是否正在提交。同时在成功alert("success");中加入一个,看看你是否收到回调。这将告诉您它在哪个阶段失败并帮助您进行搜索。

你也可以使用firefox的firebug插件来查看通过ajax发送的内容,如果它正在工作,看看你是否有任何值错误。您认为需要勾选在控制台中显示XMLHttpRequests