Я хотел бы удалить комментарий через Ajax в фоновом режиме, не обновляя страницу.
Я сделал кнопку с onclick function
который передаст идентификатор комментария:
<button type="button" class="btn btn-primary" onClick="return delete_comment(<?=$data['comment_id']; ?>);">Delete comment</button>
и я не уверен, как передать идентификатор комментария в функцию 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
Я предполагаю, ошибка, которую вы делаете, это тип. Если вы используете GET
тип. Затем мы можем опубликовать параметр Javscript в форме PHP, используя страницу /comments/delete/123123
,
Но, так как вы используете POST
. Указание идентификатора комментария в URL не приведет к передаче переменной в форму 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.");
}
});
Спасибо всем, ребята, за помощь.
Проблема, кажется, в сценарии PHP, а не в упомянутом HTML с Ajax