#ajax #codeigniter #datatables
#ajax #codeigniter #таблицы данных
Вопрос:
я создал функцию, в которой я могу добавить строку после подтверждения. проблема в том, что после кнопки отправки таблицы не перезагружаются и не отображается предупреждение об ошибке функции. на самом деле данные успешно сохранены, и я должен обновить страницу, чтобы таблица могла перезагрузиться. вот мой код ajax jquery:
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
}
});
}
мой контроллер:
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));
}
как я могу автоматически перезагрузить только таблицы данных и показать успешное оповещение.
Комментарии:
1. Могу я взглянуть на вашу функцию перезагрузки?
table.ajax.reload(null, false)
, что это за библиотека JS?2. Ок, понял, вы используете
dataTables
. Где находится код, в котором вы выбираетеtable
элемент? Согласно приведенному здесь примеру