如何在jquery中读取函数参数

时间:2015-04-15 12:33:35

标签: php jquery ajax buttonclick

我想在后台通过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

2 个答案:

答案 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