我有一个管理控制器,里面我有一个processReq函数。在这里,我有一个按钮,它将在单击时访问控制器操作。但是每当我单击按钮时,它都会给我一个错误,说
"网络错误: 500 内部服务器错误 - http://localhost/mycodeigniter/ci/index.php/Admin/processReq"
我有我的索引.php使用 htAccess 文件隐藏
管理员控制器:
class Admin extends CI_Controller{
public function processReq(){
$status=$this->item->post('status');
echo $status;
}
}
而 ajax 请求是:
<button type="button" data-id='approved' class="btn btn-success approved buttons" style="margin-right:15px;font-weight:bold;">Approve</button>
阿贾克斯:
$(".buttons").click(function(event){
var status=$(this).data('id');
$.ajax({
url: '<?php echo base_url('Admin/processReq'); ?>',
type: 'POST',
data: {
'status': status
},
dataType: 'json',
success: function(data) {
alert('success');
}
});
});
更改网址
url: '<?php echo base_url('Admin/processReq'); ?>',
对此
url: '<?php echo base_url(); ?>index.php/Admin/processReq',
将索引.php添加到网址
将其更改为
$status=$this->item->post('status');
这
$status=$this->input->post('status');
编辑 01
<script>
$(function(){
$(".buttons").click(function(event)
{
var status=$(this).data('id');
$.ajax(
{
type:"post",
url: "<?php echo base_url(); ?>index.php/admin/processReq",
data:{ status:status},
success:function(data)
{
alert('success');
}
});
});
});
</script>
首先你有语法错误。
url: '<?php echo base_url("Admin/processReq"); ?>',
应该是这样的
url: '<?php echo base_url("Admin/processReq"); ?>',
其次,如果您使用 .htaccess 从 url 中隐藏索引.php。这意味着它不会在 ajax 请求时生成您看到索引.php的正确 url。
转到您的应用程序/配置.php并像这样设置base_url
$config['base_url'] = ' http://localhost/mycodeigniter/ci/';
并设置
$config['index_page'] = '';
//remove index.php from this line
//whatever you set here it will be included to your base_url when you use site_url function.