Php 通过id使用ajax删除记录
使用ajax/jquery从mysql数据库删除记录时遇到问题。我遇到的问题是,它不会从数据库中删除,而是从列表中删除。我做错了什么 这是我的密码:Php 通过id使用ajax删除记录,php,jquery,ajax,Php,Jquery,Ajax,使用ajax/jquery从mysql数据库删除记录时遇到问题。我遇到的问题是,它不会从数据库中删除,而是从列表中删除。我做错了什么 这是我的密码: jQuery(document).ready(function(){ $(".deleteitem").click(function(){ var parent = $(this).closest('li'); var id = parent.attr('id'); $.ajax({ type: "POS
jQuery(document).ready(function(){
$(".deleteitem").click(function(){
var parent = $(this).closest('li');
var id = parent.attr('id');
$.ajax({
type: "POST",
data: "id=" +id,
URL: "delete.php",
success: function(msg){
$('#'+id).remove();
}
});
});
});
我的php文件delete.php:
$con=mysqli_connect("localhost","user","pass","db");
// Check connection
if (mysqli_connect_errno())
{ echo "Failed to connect to MySQL: " . mysqli_connect_error(); }
$id = $_POST['id'];
if (isset($id)) {
$query = "DELETE FROM img_slider WHERE id = '$id'";
mysqli_query($query) or die('Error, insert query failed');
}
HTML标记:
<li id='".$row['id']."'>
<a href='#' class='deleteitem'><img src='../img/delete.png'></a>
</li>
首先测试以确保使用有效id调用删除文件有效。下面的javascript应该可以正常工作
<script type="text/javascript">
<!--
$(function() {
$('.deleteitem').click(function(e) {
e.preventDefault();
var id = $(this).parent('li').attr('id');
$.get('delete.php',{ id: id}).done(function(data) {
if(data=='Error, insert query failed') {
// dont delete from list
alert('Failed to delete '+id);
} else {
//delete from list
$('#'+id).remove();
alert('Deleted '+id);
}
});
});
});
//-->
</script>
编辑:更新脚本以帮助处理父id
你能说出错误的来源吗?大多数现代浏览器都应该让您了解错误发生在哪一行或哪一部分
上面的脚本应该替换所有的javascript。数据格式是
data:{“id”:id}
这是所有的PHP代码吗?您在哪里连接到数据库?您应该看到delete.php的功能。您可以使用$\u REQUEST代替$\u POST并调用delete.php?id=。。。看看会发生什么。如果有效,则返回$\u POST并在中调试参数ajax@karthikr不走运。可能是连接失败,因为你没有回应“连接失败”。ajax会将其视为一个成功的响应,不管删除与否……也许只有在删除成功的情况下,您才应该回显某些内容……为了进一步调试问题,我在上面的javascript中遇到了一个错误。Delete.php处于工作状态。编辑Delete.php有助于处理basix语法错误,并帮助您了解发生了什么错误。错误似乎位于:alert('deleted+'id)代码>-非常感谢您在这里的时间。修复了这个问题,concatonater(“+”字符)在引号内而不是在引号外