gpt4 book ai didi

javascript - 当我单击删除按钮时查询未运行,即使 .success 说它有效

转载 作者:可可西里 更新时间:2023-10-31 23:38:12 25 4
gpt4 key购买 nike

我制作了一个模型,当我从向下切换菜单中单击删除时调用该模型。然后它给出了一个数据列表,我可以通过单击它们旁边的按钮来删除这些数据。但出于某种原因,我无法弄清楚页面何时重新加载,没有任何内容被删除。我在 javascript 中成功后添加了一个警报“成功”。调用此警报但不会删除数据。 Bootstrap 和 jQuery 链接位于索引页面中,它们都可以正常工作。这个问题让人目瞪口呆,如果有人能阐明它,我将不胜感激。

这是 html:

<div class="modal fade" id="delete_comment" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="form-horizontal" role="form">
<div class="modal-header">
<h4>Delete comments</h4>
</div>
<div class="modal-body">
<?php $comment_array = comments::get_comments($username); ?>

<?php if(isset($comment_array) && is_array($comment_array)): ?>

<?php
foreach ($comment_array as $key => $comment):
foreach($comment as $key2 => $comment2):

$max = count($comment_array);
$i=1;

while($i<=$max):
?>

<?php
$comment_id = $comment2->id;
$comment_name = $comment2->comment_name;
$comment_type = $comment2->comment_type;
?>

<form class="comment_delete_area_wrapper" action="" method="post">
<div class="comment_delete_wrapper">
<ul>
<li class="comment_delete_comments">
<?php echo $comment_type ?> : <?php echo $comment_name; ?>
</li>
</ul>

<div class="comment_delete_button_wrapper">
<input type="submit" id="<?php echo $comment_id; ?>"
class="btn btn-danger comment_delete_button" value="Delete"/>
</div>
<br>
<hr>
<input type="hidden" value="<?php echo $comment_id; ?>"
id="comment_delete_id" name="comment_delete_name"/>
</div>
</form>
<?php $i++; ?>
<?php endwhile;?>
<?php endforeach; ?>
<?php endforeach;?>
<?php endif; ?>
</div>

<div class="modal-footer">
<a class="btn btn-default" data-dismiss="modal">Close</a>
</div>
</div>
</div>
</div>
</div>

这里是这些类的 PHP 代码。评论都是从完美的数据库中提取的,看起来很完美。问题是删除它们。

<?php

class Comments{

public static function delete($cl_id)
{


$db = new PDO('mysql:host=localhost;dbname=comment;charset=utf8', 'root', '');
$stmt = $db->prepare("DELETE FROM `comments` WHERE id = :cl_id");

$stmt->bindParam(':cl_id', $cl_id);
if ($stmt->execute()) {
return true;
} else {
return null;
}
}

}

和 javascript:

$(document).ready(function(){
add_delete_handlers();
});

function add_delete_handlers(){
$('.comment_delete_button').each(function(){
var btn = this;
$(btn).click(function(){

comment_delete(btn.id);

});
});
}

function comment_delete(_comment_id){

$.post('comment_area_ajax/comment_delete.php', {
task: 'comment_delete',
comment_id: _comment_id
}
).success(function(data){
alert('Success');
$('#_' + _comment_id).detach();
});

}

最后是 AJAX 调用的代码:

<?php
if(isset($_POST['task']) && $_POST['task'] =='comment_delete') {
require_once '../comment_area_sql/models/comment_delete_model.php';
require_once '../comment_area_sql/models/comments.php';

if(class_exists('Comments')){

if(Comments::delete($_POST['comment_id'])){
echo 'true';
}else{
echo 'false';
}

?>

最佳答案

尝试:

$(document).ready(function() {
add_delete_handlers();
});

function add_delete_handlers() {
$('.comment_delete_button').click(function() {
comment_delete($('this').attr('id'));
});
}

function comment_delete(_comment_id) {
$.post('comment_area_ajax/comment_delete.php', {
task: 'comment_delete',
comment_id: _comment_id
}, function(data) {
alert('Success');
$('#_' + _comment_id).detach();
});
}

为您的 ajax 文件试试这个:

<?php
if(isset($_POST['task']) && $_POST['task'] =='comment_delete') {
require_once '../comment_area_sql/models/comment_delete_model.php';
require_once '../comment_area_sql/models/comments.php';
if(class_exists('Comments')){
if(Comments::delete($_POST['comment_id'])){//note the change
$message = 'comment deleted';
}else{
$message = 'we have a error';
}
return json_encode(array('message'=>$message));
}
}
?>

关于javascript - 当我单击删除按钮时查询未运行,即使 .success 说它有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35217288/

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