Php ajax post发送在codeigniter中不起作用

Php ajax post发送在codeigniter中不起作用,php,ajax,codeigniter,Php,Ajax,Codeigniter,我遇到了如何在codeigniter中解决ajax post的问题。GET方法工作得很好,但当我将其更改为post时,它就不再工作了。我观察到,当我在配置文件中禁用csrf_保护时,它正在工作,但当我启用它时,它不工作。我想在post方法工作时启用csrf_保护。有人能帮我吗?谢谢 <script> $(document).ready(function(){ $('#submit').click(function(event) { $.ajax({

我遇到了如何在codeigniter中解决ajax post的问题。GET方法工作得很好,但当我将其更改为post时,它就不再工作了。我观察到,当我在配置文件中禁用csrf_保护时,它正在工作,但当我启用它时,它不工作。我想在post方法工作时启用csrf_保护。有人能帮我吗?谢谢

<script> 
 $(document).ready(function(){  
  $('#submit').click(function(event) {  
    $.ajax({ 
        type: 'POST',
        url: '/common/test',
        data: {  
            <?php if ($this->config->item('csrf_protection') === true) : ?>
                post_data.<?php echo $this->security->get_csrf_token_name()?> = '<?php echo $this->security->get_csrf_hash()?>' 
            <?php endif ?>
        },
        success: function(response) {
            alert(response);
          }
      }); 
      return false; 
   });
});
  </script>  
 <input type="text" name="name" id="name">
 <input type="submit" value="submit" name="submit" id="submit"> 

$(文档).ready(函数(){
$(“#提交”)。单击(函数(事件){
$.ajax({
键入:“POST”,
url:“/common/test”,
数据:{
post_数据
},
成功:功能(响应){
警报(响应);
}
}); 
返回false;
});
});
在我的控制器上

  <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

  class Common extends CI_Controller {

     function test(){ 
      echo 'test';
    }

   }

jQuery希望头不是默认的HTTP头。您需要更改我认为与输出匹配的内容类型的标题。有关如何使用codeigniters输出类执行此操作的信息,请参阅随附文档