返回结果从ajax后

问题描述:

我正在建立一个收藏夹工具,用户可以创建组的收藏夹。您可以通过复选框向群组添加收藏夹。这一切都正常,但我想添加的一件事是当你创建一个新的组时,新的组出现在现有的列表中,并且取消选中复选框。返回结果从ajax后

使用jQuery,返回用户添加到组表中的最后一条记录作为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(); 

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

如果这是使用脚本创建的组的名称,是否有一个原因是您不仅仅在成功方法中使用new_group值?像这样:

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

如果您想要从脚本中获取该数据,您可以打印可用于成功功能的数据。例如,

<?php 
    echo $new_group; 
?> 

然而,前者可能更直接。

+0

有一张表包含组名和用户标识,并且一张表包含组标识和最爱标识。所以要添加一个喜爱的组,我需要一个组ID。我可以使用组名而不是id,但我更喜欢与数字关联。 – ok1ha 2014-10-10 13:25:24

+0

您需要使用相关的组名查询该组ID以找到它(在new-group.php中)。一旦你有了这个ID,你可以像我的帖子中的第二个例子那样打印。 – colonelsanders 2014-10-12 03:01:57