weixin_33728268 2016-10-22 18:13 采纳率: 0%
浏览 34

Ajax数据表无法重新加载

i have made function where i can add a row after confirming. the problem is, after submit button, the tables dont reload and show error function alert.actually data success saved and i have to refresh the page so that the table can reload. here is my ajax jquery code:

function reload_table()
{
    table.ajax.reload(null,false); //reload datatable ajax 
}

function save()
{
    $('#btnSave').text('saving...'); //change button text
    $('#btnSave').attr('disabled',true); //set button disable 
    var url;

    if(save_method == 'add') {
        url = "<?php echo site_url('activity/save')?>";
    } else {
        url = "<?php echo site_url('activity/ajax_update')?>";
    }

    // ajax adding data to database
    $.ajax({
    url : url,
    type: "POST",
    data: $('#form-input').serialize(),
    dataType: "JSON",
    success: function(data)
    {

    if(data.status) //if success close modal and reload ajax table
        {
           $('#myModal').modal('hide');
           reload_table();
              
        }

          $('#btnSave').text('save'); //change button text
          $('#btnSave').attr('disabled',false); //set button enable 


        },
    error: function (jqXHR, textStatus, errorThrown)
      {
         alert('Error adding / update data');
         $('#btnSave').text('save'); //change button text
         $('#btnSave').attr('disabled',false); //set button enable 

        }
    });
}

my controller:

public function save() {
        $actype         = $this->input->post('actype');
        $activity_name  = $this->input->post('activity_name');
        $project        = $this->input->post('project');
        $portion        = $this->input->post('portion');
        $activity       = $this->input->post('actid');


        $data = array(
            'activity_type_id'  =>$actype,
            'activity_name'     =>$activity_name,
            'project_id'        =>$project,
            'portion'           =>$portion,
            'activity_id'       => $activity
            
        );
        $this->activity->insertactivity($data);

        echo json_encode(array("status" => TRUE));
    }

how can i automatically reload only the datatables and show alert success.

  • 写回答

0条回答 默认 最新

    报告相同问题?