Как передать переменную 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
)};