Codeigniter - Ajax调用错误(404)

时间:2017-03-10 17:03:46

标签: javascript php jquery ajax codeigniter

我在CodeIgniter上运行静态页面的服务,现在我想使用Ajax调用使其动态化,但Ajax调用总是返回404错误(由错误部分的警报定义)。可以访问控制器的索引方法。只有_get_procs方法返回404。

我的Javascript:

$(document).ready(function(){
    base_url = '<?= base_url() ?>';
    $('#btnAjax').click(function(){
        alert("AJAX");
        $.ajax({
            url: base_url + 'general-data/_get_procs',
            type: 'POST',
            data: {'period': '1'},
            dataType: 'json'
        }).success(function(response){
            alert(response);
        }).error(function(e){
            alert("Error");
        });
    });
});

我的控制器:

function _get_procs(){
    $period = $this->input->post('period');
    echo json_encode("OK");
}

1 个答案:

答案 0 :(得分:1)

来自@Dimi的评论告诉我发生了什么:在功能开始时使用下划线&#39;名称,例如_function_one无法正常工作; function_one确实有效,使CodeIgniter中断。

我提出的解决方案是将函数重命名为格式function_oneget_procs,就我而言)并在routes.php配置文件上创建规则:

$route['controller/_get_procs'] = 'controller/get_procs';

这是一种解决方法,可以在不更改CodeIgniter的默认配置的情况下使其工作。我不知道是否还有其他办法。

正如@ cssBlaster21895所指出的,CodeIgniter会跟进PHP编码样式(参见更多here),它将_function确定为私有函数。

相关问题