编辑:
根据以下注释中提供的解决方案
数据库中没有发生任何事情
解决方案是简单地刷新页面,因为我以前在另一个目录中有delete.php文件(所以代码运行得很好……这只是身份错误的情况——这总是最微不足道的事情(。
页面上没有发生任何事情
解决方案是将<div>一个唯一的id(与删除按钮/image-1相同(,然后在我的jQuery.js文件中的ajax函数下添加。。。
success: function() {
$('#'.concat(id)).remove();
}
感谢@SikanderNawaz
结束编辑
我正试图通过使用jQuery、AJAX和PHP删除数据库中的一行,我的代码应该是,但不起作用
我单击了删除按钮,但在页面或数据库中什么也没发生
我哪里错了
希望这里有人能帮忙。
数据库
------------------
| id | link |
------------------
| 1 | image.jpg |
------------------
HTML
<head>
...
<script src="jquery-3.4.1.js"></script>
...
</head>
<body>
...
<button type="button" name="delete" id="delete" class="some stylings" value="1"><h6><b>X</b></h6></button>
<img src="images/image.jpg" />
...
<script src="jQuery.js"></script>
</body>
jQuery.js
$(document).ready(function(){
$('button#delete').click(function(){
var id = $(this).val(); // tested and returns 1 (see button value)
$.ajax({
url: 'delete.php',
type: 'post',
data: { id: id },
success: function() {
$('#'.concat(id)).remove();
}
});
});
})
删除.php
<?php
require ("connection.php");
if (isset($_POST['id'])) {
$id = $_POST['id'];
try {
$sql =
"
DELETE FROM test
WHERE
id = ?
";
$prepareTest = $pdo->prepare($sql);
$prepareTest->execute([$id]);
} catch(PDOException $e) {
file_put_contents('../error/e.txt', $e->getMessage(), FILE_APPEND);
}
}
使用JS/Ajax时,请始终使用console.log记录数据和错误,并在"网络"选项卡中发现错误以及任何与数据库相关的错误,并使用在的每个步骤转储的数据来管理调试,以发现错误的来源。