我试图做简单的ajax删除。问题是当我点击垃圾按钮时没有任何反应。我是ajax和jquery的新手,并不知道如何调试它。
在标签网络下的控制台中,我看到按钮点击时调用了文件delete.php
,而id: 1
是正确的。
这是我的html部分
<div class="comment-head">
<i class="fa fa-trash del" data-id="'.$row['id'].'"></i>
</div>
$( document ).ready(function() {
$(".del").on("click", function() {
$.ajax({
url: "delete.php",
method: "GET",
data: { "id": $(this).data("id") },
dataType: "html"
}).done(function( msg ) {
$( "#log" ).html( msg );
}).fail(function( jqXHR, textStatus ) {
alert( "Request failed: " + textStatus );
});
});
});
delete.php
$pdo = Database::connect();
if ( isset($_GET['id']) && isset($_POST['id']))
{
$stmt = $pdo->prepare("DELETE FROM gustbook where id = :id");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
Database::disconnect();
}
我意识到这是一个新手问题,但请耐心等待。
答案 0 :(得分:0)
试试这个:
delete.php:
$pdo = Database::connect();
if ( isset($_GET['id'])))
{
$stmt = $pdo->prepare("DELETE FROM gustbook where id = :id");
$stmt->bindParam(':id', (int)$id, PDO::PARAM_INT);
$stmt->execute();
Database::disconnect();
}
您正在使用GET方法发出AJAX请求,而在服务器端,您正在检查GET和POST方法。所以if中的代码无法永远执行。
更新
您必须将$ id转换为整数