Php 数据表删除数据时的异常行为

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

我正在通过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));

        $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();

                        }
                    });
                }
            }
        });