当我按下删除按钮时,它不会删除内容。 我认为ajax删除调用
有问题Ajax的file.php
$('.delete_update').live("click",function() {
var ID = $(this).attr("id");
var dataString = 'msg_id='+ ID;
if(confirm("Sure you want to delete this update? There is NO undo!")) {
$.ajax({
type: "POST",
url: "delete_data.php",
data: dataString,
cache: false,
success: function(html){
$("div#bar"+ID).slideUp('slow', function() {$(this).remove();});
}
});
}
return false;
});
<div class="accordionButton" id="bar<?php echo $msg_id; ?>"><?php echo $msg_id; ?>:<?php echo $name; ?>
<a href="#" id="<?php echo $msg_id; ?>" class="delete_update">X</a>
</div>
<div class="accordionContent" style="display: block;"><?php echo $msg; ?></div>
delete_data.php
<?php
include("db.php");
if($_POST['msg_id'])
{
$id=$_POST['msg_id'];
$id = mysql_escape_String($id);
$sql = "delete from messages where msg_id='$id'";
mysql_query( $sql);
}
?>
答案 0 :(得分:0)
如果您使用的是最新的jQuery
,请使用on
代替live
,因为它不受支持
*针对动态内容进行了更新
$(document).on("click", '.delete_update', function() {
答案 1 :(得分:0)
我认为问题出在这个功能范围内。 您为$ .ajax数据对象提供了一个字符串。 功能&#39;通常&#39;只处理javascript对象。
在不检查参数的情况下处理参数时也要小心。 看看为mysql编写的语句。
$.ajax({
type: "POST",
url: "delete_data.php",
data: dataString, <--- May be wrong because you are using POST
cache: false,
success: function(html){
$("div#bar"+ID).slideUp('slow', function() {$(this).remove();});
}
试试这个。尝试在服务端脚本
回显msg_id $.ajax({
type: "POST",
url: "delete_data.php",
data: {msg_id:ID},
cache: false,
success: function(html){
$("div#bar"+ID).slideUp('slow', function() {$(this).remove();});
}