使用jquery/ajax在CodeIgniter控制器内调用函数

Val*_*or_ 4 javascript php ajax jquery codeigniter

有人可以向我解释在Codeigniter中用jquery/ajax调用php函数的正确方法是什么.现在,这段代码不起作用,我无法弄清楚.请注意,admin.php控制器位于管理映射中.提前致谢

HTML代码

<form action="#" method="POST" id="change">
             <input type="hidden" value="<?php echo $row->id_product; ?>" id="prod" >    
             <input type="submit" value="switch" >
</form>
<div class="resultdiv">
    <?php echo $data; ?>
</div>
Run Code Online (Sandbox Code Playgroud)

我的函数在admin.php控制器里面

 public function do_search(){
        $id = $this->input->post('id');
        return $id;
    }
Run Code Online (Sandbox Code Playgroud)

Jquery AJAX脚本

$( "#change" ).submit(function() {
  alert( "Change" );
  var id = $('#prod').val();
     $.ajax({
            type:'POST',
            url:'admin321/do_search',
            data:{'id':id},
            success:function(data){
                $('#resultdiv').html(data);
            }
        });
});
Run Code Online (Sandbox Code Playgroud)

Config/routes.php

$route['admin/do_search'] = "admin_controller/admin/do_search";
Run Code Online (Sandbox Code Playgroud)

Bra*_*ane 6

我知道这是旧帖子,但也许有人会觉得这很有用.

我通过添加index.phpurl 解决了这个问题.即使index.php使用重写隐藏了.

  $( "#change" ).submit(function() {
      alert( "Change" );
      var id = $('#prod').val();
         $.ajax({
                type:'POST',
                url:'<?php echo base_url("index.php/admin/do_search"); ?>',
                data:{'id':id},
                success:function(data){
                    $('#resultdiv').html(data);
                }
            });
    });
Run Code Online (Sandbox Code Playgroud)