我是 Ajax 的新手,我正在尝试使用它进行 CRUD 操作。我有一个 index.php
页面,我可以在其中插入和显示数据,我也有更新和删除数据的链接。创建、读取、更新工作正常。现在的问题是,当我单击“删除”链接时,我成功地将 ID 发送到 delete_back.php
并且该值正在被删除,但成功消息应该打印在 index.php
上,因为我有一个名为 #delete_msg
的 div,但不知何故成功消息正在 delete_back.php
上打印。
索引.php
<div id="delete_msg"></div>
select_back.php
<?php
include("config.php");
$data=mysqli_query($con,"select * from student");
$col=mysqli_num_fields($data);
echo "<table>";
while($row=mysqli_fetch_array($data))
{
echo "<tr>";
for($i=0;$i<$col;$i++)
{
echo "<td>".$row[$i]."</td>";
}
echo "<td><a href='update_front.php?id=$row[0]&nm=$row[1]&add=$row[2]&cont=$row[3]'> Update </a></td>";
echo "<td><a class='delete' href='delete_back.php?id=$row[0]'>Delete</a></td>";
echo "</tr>";
}
echo "</table>";
?>
delete_back.php
<?php
$id=$_GET['id'];
include("config.php");
$data=mysqli_query($con,"delete from student where id='$id'");
if($data=="true")
{
echo "Data Deleted";
}
else
{
echo "Delete Error";
}
?>
ajax文件
$(".delete").click(function(event){
event.preventDefault();
$.ajax({
url:"delete_back.php",
dataType:"html",
success:function(msgStr){
$("#delete_msg").html(msgStr);
}
})
})
最佳答案
给 anchor 标签添加data-id属性:
echo "<td><a id='delete' data-id='".$row[0]."' href='#'>Delete</a></td>";
您可以在您的 ajax 中执行以下操作:
$("#delete").click(function(event){
var obj = $(this); // first store $(this) in obj
var id = $(this).data('id'); // get id of data using this
$.ajax({
url:"delete_back.php",
dataType:"html",
data: { id: id },
type: "Post",
success:function(msgStr){
$("#delete_msg").html(msgStr);
}
})
})
在你的 php 文件中:
$id=$_POST['id'];
关于php - 成功消息显示在错误的页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48825921/