繁体   English   中英

Codeigniter-Ajax调用时出错(404)

[英]Codeigniter - Error on Ajax call (404)

我在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");
}

@Dimi的评论告诉我发生了什么事:在函数名称的开头使用下划线,例如_function_one不起作用; function_one确实起作用,使CodeIgniter中断。

我想出了解决的办法是重命名功能,格式function_oneget_procs ,在我的情况),并建立在规则routes.php配置文件:

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

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

正如@ cssBlaster21895指出的那样,CodeIgniter遵循了PHP编码样式(请参见此处的更多内容),该样式将_function确定为私有函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM