从ajax帖子返回结果

时间:2014-10-09 21:19:42

标签: jquery

我正在构建一个收藏夹工具,用户可以在其中为自己的收藏夹创建群组。您可以通过复选框向组添加收藏夹。这一切都运行正常但我要添加的一件事是当你创建一个新组时,新组出现在现有列表中,并且取消选中复选框。

使用jQuery,将用户添加到groups表中的最后一条记录作为POST回调函数的最佳方法是什么?

JS:

$('.add_new_group').click(function(){
    //var $add_new_group = $(this);
    var user_id = $(document.body).attr('data-user-id');
    var new_group = $('.new_group').val();

    var data = {
        'user_id' : user_id,
        'new_group' : new_group
    }

    var url = "/wp-content/themes/testheme/action/new-group.php";

    $.ajax({
        type: "POST",
        url: url,
        data: data,
        success: function(data) {
            $('#new_group_container').html();
        }
    });
});

新group.php

include('inc_db.php');

$user_id = $_POST['user_id'];
$new_group = $_POST['new_group'];

$check_records=mysql_query("SELECT user_id FROM tpl_groups WHERE user_id='$user_id' AND group_name='$new_group'");
$num_rows=mysql_num_rows($check_records);

if($num_rows < 1){
    $query="INSERT INTO tpl_groups (user_id, group_name) VALUES ('$user_id', '$new_group')";
    mysql_query($query) or DIE (mysql_error());
}

mysql_close();

1 个答案:

答案 0 :(得分:1)

首先,我会小心地暴露你的后端。您可以编辑任何对问题不重要的内容。

如果这是使用脚本创建的组的名称,是否有理由不在成功方法中使用 new_group 值?像这样:

success: function(data) {
    $('#yourtable').append('<tr><input type="checkbox">' + new_group + '</tr>');
}

如果您想从脚本中获取该数据,则可以打印可在成功函数中使用的数据。例如,

<?php
    echo $new_group;
?>

然而,前者可能更直接。