我想使用ajax从记录中删除一行但不能删除行,$.ajax()
函数返回整个页面而不是删除行。
Html代码
<tbody>
<tr class="gradeX odd">
<td class="sorting_1">2</td>
<td class=" ">test</td>
<td class=" ">test</td>
<td class="center ">0</td>
<td class="center ">Active</td>
<td class=" "><button type="button" class="btn btn-default btn-circle" name="editRecord"><i class="fa fa-pencil-square-o"></i></button>
<button type="button" class="btn btn-danger btn-default btn-circle" id="2" name="deleteRecord"><i class="fa fa-times"></i></button></td>
</tr>
<tr class="gradeX even">
<td class="sorting_1">3</td>
<td class=" ">sarees</td>
<td class=" ">contains sarres</td>
<td cl="center ">1</td>
<td class="center ">Active</td>
<td class=" "><button type="button" class="btn btn-default btn-circle" name="editRecord"><i class="fa fa-pencil-square-o"></i></button>
<button type="button" class="btn btn-danger btn-default btn-circle" id="3" name="deleteRecord"><i class="fa fa-times"></i></button></td>
</tr>
</tbody>
Jquery代码
$(document.body).on('click', '[name="deleteRecord"]', function(){
var id= $(this).attr('id');
if(confirm('Are you sure ?')){
$.ajax({
type:'POST',
url:'admin_operation.php?mode=delete_category',
data: {id:id},
success:function(data) {
alert(data);
}
});
}
});
Php代码
if($mode=='delete_category')
{
$id=$_POST['id'];
$q=$db->query("DELETE FROM db_category WHERE category_id='".$id."'");
if($q) {
echo "YES";
}
else
{
echo "NO";
}
}
答案 0 :(得分:1)
if($ _ GET ['mode']。=='delete_category')//查询字符串中的变量被视为$ _GET { $ ID = $ _ POST [ 'ID'];
$q=$db->query("DELETE FROM db_category WHERE category_id='".$id."'");
if($q) {
echo "YES";
}
else
{
echo "NO";
}
}
并且当您在警报响应时回显“是”或“否”,您将仅获得该回复 如果你想在删除前删除行存储并回显那个..
答案 1 :(得分:0)
$mode
应为$_GET['mode']
。
或者,将url:'admin_operation.php?mode=delete_category',
更改为url:'admin_operation.php',
并将data: {id:id},
更改为data: {id:id, mode:'delete_category'},
并设置$mode = $_POST['mode']
。
如果这不起作用,那么您可能已经回显了该页面的内容。我们需要在文件其余部分的上下文中查看代码,以确定您是否已经回显到页面的内容。此外,正如其他人所指出的那样,你应该在if块的末尾或每次回显之后exit;
,以避免从文件的后面返回代码。
答案 2 :(得分:0)
首先,您需要在dataType
方法中设置$.ajax
。
$.ajax({
type:'POST',
url:'admin_operation.php?mode=delete_category',
data: {id:id},
dataType: 'json', // <-----
success:function(data) {
console.log(data); // should be something like {'status' : 'YES'}
}
});
在您的PHP代码中,您需要在exit
echo
语句
if($mode=='delete_category')
{
$id = $_POST['id'];
$q=$db->query("DELETE FROM db_category WHERE category_id='".$id."'");
$output = array('status' => 'NO');
if($q) {
$output['status'] = 'YES';
}
echo json_encode($output);
exit;
}