[英]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_one
( get_procs
,在我的情况),并建立在规则routes.php
配置文件:
$route['controller/_get_procs'] = 'controller/get_procs';
这是一种解决方法,可以在不更改CodeIgniter的默认配置的情况下正常工作。 我不知道还有没有其他办法。
正如@ cssBlaster21895指出的那样,CodeIgniter遵循了PHP编码样式(请参见此处的更多内容),该样式将_function
确定为私有函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.