使用fadeOut使用AJAX删除行

时间:2016-02-04 08:48:49

标签: php jquery ajax

我正在关注AJAX的在线教程。有关如何从表中删除行而不重新加载它的讲座。

我为HTML表格中的每一行添加了一个删除按钮,并在id="del"的表格中将其ID设置为id="myTable"

我正在尝试使用Ajax删除一行并删除它而不使用动画fadeOut()进行刷新。

我有这个Ajax脚本:

$("#myTable #del").click(function()
    {
        if(confirm("Are you sure you want to delete this row ?"))
        {
            var id = $(this).closest('tr').attr('id');
            var row = $(this).closest('tr');
            $.ajax
            ({
                url: 'delete_row.php',
                type: 'POST',
                data: {dataID: id},
                dataType: "text",


                success:function(data)
                {
                    console.log(id);
                    if(data=="deleted")
                    {
                        row.fadeOut('slow', function() {$(this).remove();});
                    }
                }
            });
        }
    });

在控制台中,我看到显示了正确的ID,但它既没有从表中消失也没有从数据库中删除。

这是PHP代码:

try
    {
        $id = $_POST['dataID'];

        $delete = "DELETE FROM employee WHERE id = :d";
        $delStmt = $conn->prepare($delete);
        $delStmt->bindValue(":id", $id);
        $delStmt->execute();

        echo "deleted";
    }
    catch(PDOException $m)
    {
        $m->getMessage();
        echo "error";
    }

教师代码工作正常,我无法查看错误的位置,因此它不适合我。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

绑定值在PDO请求中没有相同的名称

$delete = "DELETE FROM employee WHERE id = :d";

$delStmt->bindValue(":id", $id);