php-ajax函数不向控制器发送数据

php-ajax函数不向控制器发送数据,php,ajax,codeigniter,controller,Php,Ajax,Codeigniter,Controller,Ajax功能:我可以在Ajax中获取id,但无法发送到控制器。控制器正在调用,但我没有在控制器中获取数据 function select_report() { var re_id = $('#report_id').val(); // ajax adding data to database alert(re_id); $.ajax({ url : "<?php echo site_u

Ajax功能:我可以在Ajax中获取id,但无法发送到控制器。控制器正在调用,但我没有在控制器中获取数据

function select_report()
     {
      var re_id =  $('#report_id').val();
          // ajax adding data to database
          alert(re_id);
         $.ajax({
            url : "<?php echo site_url('Homepage/category/');?>",
            type: "POST",
            data: {'re_id':re_id},
           success: function(data)
           {
              window.location.href = "<?php echo site_url('Homepage/category/'); ?>";
           },
           error: function (jqXHR, textStatus, errorThrown)
           {
              alert('Error');
           }
       });
     }
试试看

function select_report()
{
     var re_id =  $('#report_id').val();
     $.ajax({
        url: '<?php echo base_url();?>Homepage/category/',
        async: false,
        type: 'POST',
        data: {re_id : re_id},
        dataType: 'html',
        success: function(data) {
           console.log(data);
         }
   });

}
功能选择报告()
{
var re_id=$('#report_id').val();
$.ajax({
url:“主页/类别/”,
async:false,
键入:“POST”,
数据:{re_id:re_id},
数据类型:“html”,
成功:功能(数据){
控制台日志(数据);
}
});
}

希望这对您有用。

我们无法在ajax请求中加载视图。为此,我们使用了另一种方法

 function select_report()
    {
      var re_id =  $('#report_id').val();
      // ajax adding data to database
      alert(re_id);
       $.ajax({
          url : "<?php echo site_url('homepage/category/');?>",
          type: "POST",
          data: {'re_id':re_id},
          dataType: 'json',
           success: function(data)
           {
              console.log(data);
              if(data==true){
                window.location.href = "<?php echo site_url('homepage/category_demo/'); ?>"+re_id;
              }else{
                alert('Error');
              }
           },
           error: function (jqXHR, textStatus, errorThrown)
           {
              alert('Error');
           }
      });
    }

如果您使用Chrome浏览器,请检查选项卡网络,并检查发送到服务器的标题数据。是否有您想要发送到控制器的数据,并检查来自该URL的响应。请检查响应HTTP状态

然后在服务器端检查,确保URL可以转到控制器。您可以在方法代码中死('Test'),以确保请求与您的代码相接触


我认为问题来自您的URL。

在javascript中,使用数据:{re_id:re_id}而不是数据:{re_id:re_id}谢谢,但这也不起作用……您的URL是错误的。为什么您使用:URL:,而不是URL:“page.php”或URL:“/homepage/category/”我正在调用我的控制器,我的控制器是“homepage”,而“category”是函数。控制器调用没有问题,但我无法在控制器中获取id。谢谢,但当尝试时,它给出的错误未找到。我已调试。我在页眉中看不到任何数据。Url工作正常,但数据为空,服务器的响应是什么?感谢您的帮助。。。但是不工作。。。首先,dataType=“json”不工作会导致错误。当我删除dataType=“Json”并尝试显示数据为空时,else正在success函数中执行。删除dataType=“Json”并解析结果,success:function(data){console.log(data);if(Json.Parse(data)==true){window.location.href=”“+re_id;}else{alert('Error'); } },
 function select_report()
    {
      var re_id =  $('#report_id').val();
      // ajax adding data to database
      alert(re_id);
       $.ajax({
          url : "<?php echo site_url('homepage/category/');?>",
          type: "POST",
          data: {'re_id':re_id},
          dataType: 'json',
           success: function(data)
           {
              console.log(data);
              if(data==true){
                window.location.href = "<?php echo site_url('homepage/category_demo/'); ?>"+re_id;
              }else{
                alert('Error');
              }
           },
           error: function (jqXHR, textStatus, errorThrown)
           {
              alert('Error');
           }
      });
    }
public function category()
    {
        $this->load->library('session');
        $this->load->helper('url');
        $re_id=$this->input->post('re_id');
        $report=$this->main_model->select_report($re_id);
        if(count($report)>0){
            echo json_encode(true);
        }else{
            echo json_encode(false);
        }       

    }
    public function category_demo($re_id){
        $data['report']=$this->main_model->select_report($re_id);
        $this->load->view('templates/header');
        $this->load->view('category.php',$data);
        $this->load->view('templates/footer');
    }