Php 为什么我的页面在删除一行后不刷新
单击“删除”按钮后,我的页面不会刷新Php 为什么我的页面在删除一行后不刷新,php,Php,单击“删除”按钮后,我的页面不会刷新 $connect = mysqli_connect("localhost", "root", "", "redcrossqc"); $sql = "DELETE FROM volunteers WHERE volunteer_id = '".$_POST["volunteer_id"]."'"; if(mysqli_query($connect, $sql)) { echo 'Data Deleted'; echo "<meta
$connect = mysqli_connect("localhost", "root", "", "redcrossqc");
$sql = "DELETE FROM volunteers WHERE volunteer_id = '".$_POST["volunteer_id"]."'";
if(mysqli_query($connect, $sql))
{
echo 'Data Deleted';
echo "<meta http-equiv='refresh' content='0'>";
}
正如在一些评论中所说的那样,
meta
标记只有在您将它们放在HTML中时才能使用。但是在ajax请求中,meta
标记不会被执行,浏览器不会将响应视为普通的旧响应
我已经更新了一点你的代码。我主要关注评论中所说的内容
正如您在评论中看到的,您的delete.php
文件违反了SQL注入的安全性。你应该使用
})) 如果此代码通过来自javascript(ajax)的调用运行,那么这将不起作用。meta标记仅在页面加载时由浏览器读取。您需要在javascript中检查ajax调用的有效返回,并刷新页面。如何询问有关删除按钮的问题,而不发布该按钮的代码?在发布问题之前,请先向自己阅读。然后问“我能用我问的方式回答这个问题吗?我提供了足够的信息吗?”对不起,我很累,对不起,伙计们,为了你的利益,必须使用ajax。如果删除成功,请返回某种响应,然后使用
window.location.reload()刷新页面
<input type="button" name="delete" value="Delete" id="<?php echo $row["volunteer_id"]; ?>" class="btn btn-danger btn-sm delete_data"/>
$(document).on('click', '.delete_data', function(){
var volunteer_id = $(this).attr("id");
$.ajax({
url:"delete.php",
method:"POST",
data:{volunteer_id:volunteer_id},
success:function(data){
$('#volunteer_id').val(data.volunteer_id);
}
});
});
<?php
//delete.php
$connect = mysqli_connect("localhost", "root", "", "redcrossqc");
/*
* You SHOULD use a prepared statement here, you could be victim of
* SQL injection.
*/
$sql = "DELETE FROM volunteers WHERE volunteer_id = '".$_POST["volunteer_id"]."'";
mysqli_query($connect, $sql); //Delete but do nothing then.
//yourpage.html
$(document).on('click', '.delete_data', function(){
var volunteer_id = $(this).attr("id");
$.ajax({
url:"delete.php",
method:"POST",
data:{volunteer_id:volunteer_id},
success:function(data){
$('#volunteer_id').val(data.volunteer_id);
window.location.reload(); //Reload the page on success
}
});