使用ajax尝试codeigniter控制器操作时出现网络错误500

时间:2016-05-25 14:24:10

标签: php jquery ajax codeigniter

我有一个管理员控制器,里面我有一个processReq功能。这里有一个按钮,可以在点击时访问控制器动作。但是每当我点击按钮就会给我一个错误说

  

" NetworkError:500内部服务器错误 -   http://localhost/mycodeigniter/ci/index.php/Admin/processReq"

我使用htaccess文件隐藏了我的index.php

管理员控制器:

   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>

AJAX:

$(".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');
        }
    });
 });

2 个答案:

答案 0 :(得分:2)

更改此网址

url: '<?php echo base_url('Admin/processReq'); ?>',

到这个

url: '<?php echo base_url(); ?>index.php/Admin/processReq',
  

index.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>

答案 1 :(得分:0)

首先,你有语法错误。

String orderNumber = driver.findElement(By.xpath("//*[@id='topBanner']/div[5]/div/span[2]")).getText(); System.out.println(orderNumber); 应该是这样的

url: '<?php echo base_url("Admin/processReq"); ?>',

第二,如果您使用.htaccess从网址隐藏index.php。这意味着它在你的ajax请求中看到index.php时没有生成正确的URL。

转到你的application / config.php并像这样设置base_url

url: '<?php echo base_url("Admin/processReq"); ?>',

并设置

$config['base_url'] = ' http://localhost/mycodeigniter/ci/';