Как передать переменную jtable в контроллер в CodeIgniter

Я пытаюсь использовать jquery-jtabel в CodeIgniter, но у меня проблемы с передачей переменной bulantahun от просмотра / AJAX до контроллера. Это мой код

//this is the ajax code 
$('#TableContainer').jtable({
                title: 'Absensi',
                paging: true,
                sorting: true,
                defaultSorting: 'bulanTahun ASC',
                selecting: true,
                multiselect: true, 
                selectingCheckboxes: true, 


                actions: {
                    listAction: base_url+'Absensi_controller/listRecord',
                    createAction: base_url+'Absensi_controller/create',
                    updateAction: base_url+'Absensi_controller/update',
                    deleteAction: base_url+'Absensi_controller/delete'
                },
// the field is here


$('#TableContainer').jtable('load',{
                    bulantahun:$("#from").val()
            });


//and this is my code in Controller
function create()
{
$bulantahun = $this->input->post('bulantahun'); //failed to post this value
//my code here
}

5 ответов

Еще одна вещь, которую вы могли бы попробовать. Проверьте правильность URL, который вы создали в javascript.

сделать что-то вроде этого: alert(base_url+'Absensi_controller/create');

Также проверьте, можете ли вы получить доступ к URL в вашем браузере. Создать эхо "Некоторый текст"; Чтобы убедиться....

Хорошо, вы пытались var_dump массив записей? Что-то вроде этого:

    function create()
    {
    var_dump($this->input->post());
    }

У меня есть решение. Моя ошибка, я не пишу функцию exit() после повторения json. Вот мой код на контроллере

function listRecort()
{
$this->load->model('model_superadmin');
$jtableResult = $this->model_superadmin->listRecord();
echo json_encode($jtableResult):
exit(); //I miss this function
}

Хорошо, я только что провел небольшое расследование по поводу его. Вы должны создать контроллер со следующими функциями (Вы уже сделали одну:-)

    function listRecord(){

    }

    function create(){

    }  

    function update(){

    }

    function delete(){

    }

Тогда в части javascipt:

    var base_url = "<?=base_url()?>"; // this line is the one that was missing in your code
    actions: {
                listAction: base_url+'Absensi_controller/listRecord',
                createAction: base_url+'Absensi_controller/create',
                updateAction: base_url+'Absensi_controller/update',
                deleteAction: base_url+'Absensi_controller/delete'
            }

Надеюсь, это поможет...

Похоже, вы не пишите из ajax. Так что я думаю, что это твоя проблема. Вам нужно сделать что-то вроде этого в вашей функции jquery:

    $.ajax({
      type: "POST",
      url: "Absensi_controller/create",
      data: bulantahun,
      success: success,
      dataType: String
    )};
Другие вопросы по тегам