gpt4 book ai didi

php - jquery ajax在php中发布数据仅在第一次时有效

转载 作者:行者123 更新时间:2023-12-01 03:57:56 25 4
gpt4 key购买 nike

我正在尝试在 PHP 中使用 jquery ajax 删除数据。第一次可以删除数据,但是第二次就不行了。它仅在我第一次刷新页面时才有效。我检查了 ajax 的 HTML 响应以确保没有任何错误,但它仍然不起作用。这是我的代码。

index.php

 <div class="container">
<br>
<button class="btn btn-primary" data-toggle="modal" data-target="#insert">Thêm sinh viên</button>
<h1 align="center">Bảng sinh viên</h1>
<table class="table">
<thead>
<tr>
<th scope="col">Mã SV</th>
<th scope="col">Tên</th>
<th scope="col">SĐT</th>
<th scope="col">Giới tính</th>
<th scope="col">Hành động</th>
</tr>
</thead>
<tbody id="list">
<?php include('show.php') ?>
</tbody>
</table>
</div>

AJAX

  $(".delete").on('click',function(){
var id = $(this).data('id');
var result = confirm("Bạn có muốn xoá sinh viên này không ?");
if(result){
$.ajax({
type: "POST",
url:"delete.php",
data: {'id':id},
success: function(response){
alert("Xoá thành công");
document.getElementById("list").innerHTML= response;
}
})
}
})

删除.php

require_once('db.php');
$real_id = $_POST['id'];
$sql = "DELETE FROM students WHERE real_id = ?";
//DELETE FROM table_name WHERE condition;
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s",$real_id);
$stmt->execute();
include("show.php");

show.php

$data ="";
while($row = $result->fetch_assoc()){

$data .="<tr>";
$data .= "<td>".$row['id']."</td>";
$data .= "<td>".$row['name']."</td>";
$data .= "<td>".$row['phone']."</td>";
switch ($row['sex']) {
case "1":
$sex = "Nam";
break;
case "2":
$sex = "Nữ";
break;
case "3":
$sex = "Khác";
break;
}
$data .= "<td>".$sex."</td>";
$realid = $row['real_id'];
$data .= "<td><button class='btn btn-danger delete' data-id='$realid'>Xoá</button></td>";
$data .="</tr>";
}
echo($data);

最佳答案

将您的 Jquery 编辑为:

$(document).on('click', 'button.delete',function(){ //<-----
var id = $(this).data('id');
var result = confirm("Bạn có muốn xoá sinh viên này không ?");
if(result){
$.ajax({
type: "POST",
url:"delete.php",
data: {'id':id},
success: function(response){
alert("Xoá thành công");
document.getElementById("list").innerHTML= response;
}
})
}
return false;
});

或者您可以采用相同但不同的方式:

show.php

...

$data .= "<td><button class='btn btn-danger delete' onclick='deleteRecord('$realid')'>Xoá</button></td>";

...

并创建一个 Jquery 函数:

function deleteRecord(id){
var result = confirm("Bạn có muốn xoá sinh viên này không ?");
if(result){
$.ajax({
type: "POST",
url:"delete.php",
data: {'id':id},
success: function(response){
alert("Xoá thành công");
document.getElementById("list").innerHTML= response;
}
})
}
}

希望对您有所帮助。

关于php - jquery ajax在php中发布数据仅在第一次时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60679425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com