ajax不工作。提交后没有显示警报

时间:2017-05-19 18:06:21

标签: php ajax

我正在尝试在我的数据库中插入一个名称。有一个表格要求输入名称。还有一个提交按钮。点击提交按钮没有显示警报。我是ajax的新手。

这是index.php。

<html>
    <head>
        <title>Untitled Document</title>
        <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.6.2.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function() {
            $("#submit").submit(function() {
                var name = $('#name').val();
                $.ajax({
                    type: "POST",
                    url: "ajax.php",
                    data: "name=" + name,
                    success: function() {
                        alert("sucess");
                    }
                });
            });
        });
        </script>
    </head>

    <body>
        <form action="" method="post">
            Name:
            <input type="text" name="name" id="name" />
            <br />
            <input type="submit" name="submit" id="submit" />
        </form>
    </body>
</html>

这是ajax.php

<html>
    <body>
        <?php
            $query=mysql_connect("localhost","root","root");
            mysql_select_db("freeze",$query);
            $name='l';//$_POST['name'];

            mysql_query("insert into tt values('','$name')");
        ?>
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

小心ajax中的url。您的网址是'ajax.php',这是一个相对网址,因此,如果您的网页位于网址http://localhost.com/index.html(例如),则ajax会将帖子发送到http://localhost.com/index.html/ajax.php(这可能是错误的) 。尝试使用绝对网址,为此,在网址的开头添加“/”,然后针对http://localhost.com/ajax.php触发ajax。

您的ajax代码应如下所示:

$(document).ready(function() {
    $("#submit").submit(function() {
        var name = $('#name').val();
        $.ajax({
            type: "POST",
            url: "/ajax.php",
            data: "name=" + name,
            success: function() {
                alert("sucess");
            }
        });
    });
});

答案 1 :(得分:0)

submit上触发form事件,而不是提交按钮。所以

        $("#submit").submit(function() {

不会被触发,因为#submit选择按钮,而不是表单。您需要为表单提供ID:

<form id="myform">

然后使用

        $("#myform").submit(function() {

您还需要在事件处理程序中使用event.preventDefault()return null,以防止在函数返回时正常提交表单。