我想在后台通过Ajax删除评论,而不刷新页面。
我创建了一个onclick function
的按钮,它会传递评论的ID:
<button type="button" class="btn btn-primary" onClick="return delete_comment(<?=$data['comment_id']; ?>);">Delete comment</button>
我不知道如何将注释ID传递给PHP函数:
<script>
function delete_comment(comment_id)
{
if (confirm("Delete?")) {
$.ajax({
type: 'post',
url: '/comments/delete/' + comment_id,
data: $('form').serialize(),
success: function () {
alert("Deleted.");
}
});
}
return false;
}
</script>
要删除评论,我需要调用PHP脚本,如:/comments/delete/comment_id
答案 0 :(得分:1)
我假设,你犯的错误就是类型。如果您使用 GET
类型。然后我们可以使用页面/comments/delete/123123
将Javscript参数发布到PHP表单。
但是,因为您使用的是 POST
。在URL中指定注释id不会将变量传递给PHP表单。为此,您必须使用以下ajax。
$.ajax({
type: 'POST',
url: '/comments/delete/',
data: {
id: comment_id
},
success: function () {
alert("Deleted.");
}
});
方法2
如果您不特别关注 POST
方法。然后,您可以将PHP表单更改为 GET
,将ajax类型更改为 GET
$.ajax({
type: 'GET',
url: '/comments/delete/' + comment_id,
data: $('form').serialize(),
success: function () {
alert("Deleted.");
}
});
答案 1 :(得分:0)
感谢所有人的帮助。 问题似乎是PHP脚本而不是Ajax提到的HTML