我正在尝试在CodeIgniter中使用jquery-jtable,但是我在将变量bulantahun
从view / ajax传递给controller时遇到了问题。这是我的代码。
//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
}
答案 0 :(得分:0)
好像你没有从ajax发帖。所以我认为这是你的问题。你需要在你的jquery函数中做这样的事情:
$.ajax({
type: "POST",
url: "Absensi_controller/create",
data: bulantahun,
success: success,
dataType: String
)};
答案 1 :(得分:0)
好的,我刚刚对他进行了一些调查。 您应该创建一个具有以下功能的控制器(您已经完成了一个: - )
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'
}
我希望这会有所帮助......
答案 2 :(得分:0)
好的,你有没有试过var_dump post数组?像这样:
function create()
{
var_dump($this->input->post());
}
答案 3 :(得分:0)
你可以尝试的另一件事。检查您在javascript中构建的网址是否正确。
执行以下操作:alert(base_url +&#39; Absensi_controller / create&#39;);
同时检查您是否可以在浏览器中访问该网址。创建一个回声&#39;一些文字&#39 ;;确保....
答案 4 :(得分:0)
我得到了解决方案。我的错,我在回复json之后没有写出exit()函数。这是我在控制器的代码
function listRecort()
{
$this->load->model('model_superadmin');
$jtableResult = $this->model_superadmin->listRecord();
echo json_encode($jtableResult):
exit(); //I miss this function
}