Php 数据表删除数据时的异常行为
我正在通过ajax添加和删除datatable上的行。。当我删除datatable上的数据并调用Php 数据表删除数据时的异常行为,php,jquery,ajax,datatable,Php,Jquery,Ajax,Datatable,我正在通过ajax添加和删除datatable上的行。。当我删除datatable上的数据并调用附加信息\u datatable.ajax.reload()时,会出现错误 以下是错误: 这是我的密码: PHP public function ajax_call_additional_info(){ $result = $this->main_m->get_all_where('additional_info', array('is_deleted' => 0
附加信息\u datatable.ajax.reload()
时,会出现错误
以下是错误:
这是我的密码:
PHP
public function ajax_call_additional_info(){
$result = $this->main_m->get_all_where('additional_info', array('is_deleted' => 0));
$data = array();
if(!empty($result)){
foreach($result as $row){
array_push($data,
array(
'id' => $row['additional_info_id'],
'description' => $row['description'],
'action' => "<button type='button' data-url='".site_url(array('events','soft_delete_additional_info'))."' data-name='".$row['description']."' data-id='".$row['additional_info_id']."' class='btn btn-danger delete_additional_info'><i class='fa fa-fw fa-trash'></i></button>"
));
}
echo json_encode(array('data' => $data));
}else{
echo json_encode(array("draw" => 0, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => array()));
}
}
public function soft_delete_additional_info(){
$id = $this->input->post('id');
$name = $this->input->post('name');
$check_if_exist = $this->main_m->get_where('additional_info', array('additional_info_id' => $id));
if(!empty($check_if_exist)){
$this->main_m->update_data('additional_info', array('is_deleted' => 1), 'additional_info_id', $id);
// $newdata = array(
// 'type' => 'success',
// 'message' => $name."'s successfully deleted!"
// );
// $this->session->set_userdata($newdata);
$message = array('type' => 'alert-success', 'message' => $name."'s successfully deleted!");
echo json_encode($message);
// echo site_url(array("events", "hotel_groupings", $check_if_exist['event_id']));
// echo 1;
}
}
删除代码
$(document).on('click', '.delete_additional_info', function(){
var $this = $(this);
var $url = $this.data('url');
var $id = $this.data('id');
var $name = $this.data('name');
var $csrf_token = $("#csrf_token").val();
bootbox.confirm({
title: "Delete Data",
message: "Do you want to delete <strong>"+$name+"</strong>? This process is irreversible.",
buttons: {
cancel: {
label: '<i class="fa fa-times"></i> Cancel'
},
confirm: {
label: '<i class="fa fa-check"></i> Confirm'
}
},
callback: function (result) {
// console.log('This was logged in the callback: ' + result);
if(result){
$.ajax({
url:$url,
type:'post',
data:{id : $id, name: $name, csrf_test_name : $csrf_token},
dataType:'json',
success:function(data){
// console.log(data);
$(".alert").css("display","block");
$(".alert").addClass(data['type']);
$("#additional_info_message").html(data['message']);
additional_info_datatable.ajax.reload();
}
});
}
}
});
$(文档)。在('单击','上。删除附加信息',函数(){
var$this=$(this);
var$url=$this.data('url');
var$id=$this.data('id');
var$name=$this.data('name');
var$csrf_token=$(“#csrf_token”).val();
bootbox.confirm({
标题:“删除数据”,
消息:“是否要删除”“+$name+”?此过程是不可逆的。”,
按钮:{
取消:{
标签:“取消”
},
确认:{
标签:“确认”
}
},
回调:函数(结果){
//log('这是在回调中记录的:'+结果);
如果(结果){
$.ajax({
url:$url,
类型:'post',
数据:{id:$id,name:$name,csrf_test_name:$csrf_token},
数据类型:'json',
成功:功能(数据){
//控制台日志(数据);
$(“.alert”).css(“显示”、“块”);
$(“.alert”).addClass(数据['type']);
$(“#附加#信息#消息”).html(数据['message']);
附加的_info_datatable.ajax.reload();
}
});
}
}
});
正如错误显示的那样,您需要找到这些属性未定义的原因。您显示的代码与这些错误无关。您需要检查页面代码,并在浏览器控制台中调试错误。@Kristrove我明白了……我真的不太熟悉datatable……但谢谢您的建议。。
$(document).on('click', '.delete_additional_info', function(){
var $this = $(this);
var $url = $this.data('url');
var $id = $this.data('id');
var $name = $this.data('name');
var $csrf_token = $("#csrf_token").val();
bootbox.confirm({
title: "Delete Data",
message: "Do you want to delete <strong>"+$name+"</strong>? This process is irreversible.",
buttons: {
cancel: {
label: '<i class="fa fa-times"></i> Cancel'
},
confirm: {
label: '<i class="fa fa-check"></i> Confirm'
}
},
callback: function (result) {
// console.log('This was logged in the callback: ' + result);
if(result){
$.ajax({
url:$url,
type:'post',
data:{id : $id, name: $name, csrf_test_name : $csrf_token},
dataType:'json',
success:function(data){
// console.log(data);
$(".alert").css("display","block");
$(".alert").addClass(data['type']);
$("#additional_info_message").html(data['message']);
additional_info_datatable.ajax.reload();
}
});
}
}
});