【发布时间】:2018-04-12 16:11:51
【问题描述】:
我正在尝试使用 AJAX 通过前端站点从数据库中动态删除一条记录,我有代码但是当我单击删除按钮时没有任何反应,有连接到数据库我只是找不到错误代码,所有代码文件都相互链接。
我要从中删除记录的表称为食谱。
HTML
<div id="recipecards2" class="row">
<div class="col-sm-3">
<div id="recipecards" class="card">
<div class="card-body">
<p>
<button type="button" id="deletebutton" class="btn btn-outline-danger" input type="submit" name="recipe_delete" data-id="<?php echo $recipe['recipe_id']; ?>">
<i style=color:black; class="fa fa-trash-o"></i> Delete Recipe </button> </a>
</p>
</div>
</div>
<br>
</div>
Ajax PHP 代码
<?php
require_once('../includes/db.php');
if($_POST['itemid']){
$query = "DELETE FROM recipes WHERE itemid= $recipe_data['recipe_id'];";
$result = $DBH->prepare($query);
$result->bindParam(':itemid', $_POST['itemid']);
$result->execute();
echo $_POST['itemid'];
}
?>
Javascript
$('#recipecards2').on('click', '#deletebutton', function() {
// var that = this;
var itemid = $('#recipecards').attr('data-id');
var request = $.ajax({
url: "ajax/removeItemsFromList.php",
type: "post",
data: { itemid : itemid}
});
// If we're successfull!
request.done(function (response, textStatus, jqXHR){
$('#recipecards2 > #recipecards[data-id="'+response+'"] ').remove();
});
});
【问题讨论】:
-
您检查控制台是否有任何错误?
-
您正在将值传递给您的查询并且准备好了吗?那是错误的。您使用的命名参数错误。
-
$query 看起来不正确。不应该有 :itemid 以便以后绑定它吗?
-
@Script47 当我点击删除按钮时它是空白的
-
如果你打算使用
data-*属性,你也可以使用.data()函数而不是.attr()。