CodeIgniter从jQuery调用控制器函数

时间:2014-05-05 12:43:42

标签: jquery ajax function codeigniter controller

控制器功能

 public function remove_alarm() {
        $ida = $this->input->post('ida');
        $this->db->where('id_tracking_vehicle',$ida);
        $this->db->limit(1,0);
        $this->db->delete('tracking_vehicles');
        return ($this->db->affected_rows() > 0) ? TRUE : FALSE;
    }

jquery call

$( document ).ready(function() {
    $('.remove_alarm').on('click', function() {
        console.log("remove");
        var ida = $(this).attr('data-id');
        $.ajax({
            type:'POST',
            url: 'tracking/remove_alarm',
            data:{'ida':ida},
            success:function(data){
                console.log(ida);
                console.log('passed');
                //console.log(data);
            }
        });
    });
});

关于点击功能有效,但似乎我在调用CI控制器(跟踪)中的函数并传递id变量时出错了。

任何建议或意见

3 个答案:

答案 0 :(得分:0)

尝试使用完整网址而不是控制器/操作

$( document ).ready(function() {
    $('.remove_alarm').on('click', function() {
        console.log("remove");
        var ida = $(this).attr('data-id');
        $.ajax({
            type:'POST',
            url: '<?php echo base_url();?>/tracking/remove_alarm',
            data:{'ida':ida},
            success:function(data){
                console.log(ida);
                console.log('passed');
                //console.log(data);
            }
        });
    });
});

答案 1 :(得分:0)

在ajax调用成功时,您还将var ida记录到控制台。你不想记录数据,因为数据是从php脚本填充的变量吗?

答案 2 :(得分:0)

尝试使用此 -

url: "<?php echo base_url('ControllerName/methodName');?>"

并在您的方法位置开始

echo 'called'; die;