尝试使用 AJAX 进行代码点火器控制器操作时出现网络错误 500



我有一个管理控制器,里面我有一个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.

最新更新