Javascript AJAX无法在codeigniter中工作,无法在同一DIV中加载页面

Javascript AJAX无法在codeigniter中工作,无法在同一DIV中加载页面,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我正在尝试在codeigniter中开发简单的CMS。。在主视图中有几个指向其他页面的链接,但我希望所有页面都在指定DIV内的同一视图中打开,而不必为每个页面加载(AJAX加载)。我尝试使用AJAX调用来实现这一点,但我已经疲惫不堪地想明白为什么它对我不起作用。每当我点击链接时,它只是从控制器的index方法加载视图,即LOGIN\u视图。 这是我的cms视图和链接 <script type="text/javascript"> function onLinkClic

我正在尝试在codeigniter中开发简单的CMS。。在主视图中有几个指向其他页面的链接,但我希望所有页面都在指定DIV内的同一视图中打开,而不必为每个页面加载(AJAX加载)。我尝试使用AJAX调用来实现这一点,但我已经疲惫不堪地想明白为什么它对我不起作用。每当我点击链接时,它只是从控制器的index方法加载视图,即LOGIN\u视图。 这是我的cms视图和链接

<script type="text/javascript">
        function onLinkClick(value){
            alert('<?php echo base_url() ?>admin/load_view/'+value);
            $.ajax({    
                url: '<?php echo base_url() ?>admin/load_view/', 
                type: 'POST',
                 data: {'view_param': value},
                 success: function(response)
                 {
                     //$('#mang_server').html(response);
                    alert("response recieved");
                 }
            }); 
            alert('after response');    
        }
</script>

<body>
<div id="main">
    <div id="header"> <a href="" class="logo"><img src="../img/logo.gif" width="101" height="29" alt="" /></a>
        <div id="middle">
            <div id="left-column">
                <h3>Header</h3>
                <ul class="nav">
                    <?php foreach($ops as $operations)
                    {$op_name = $operations['admin_op'];
                     $op_link = $operations['link_to'];
                    ?>
                    <li><a href="" id="" onclick="onLinkClick('<?php echo $op_link ;?>')"><?php echo $op_name ;?></a></li>
                    <?php } ?>
                </ul>
                <div id="mang_server"> </div>

请告诉我我犯了什么错误。

你做的是错误的方式,考虑下面的代码,通过Ajax < /P>加载视图。 Javascript部分:

 $.ajax({

             url: '<?php echo base_url() ?>admin/load_view/', 
             type: 'POST',
             dataType:'json',
             data: {'view_param': value},
             success: function(response)
             {

                $('#mang_server').html(response.html_view);

             }
 });

你的意思是:但是ajax调用搞砸了。试着在load\u view函数中传递视图名,比如$this->load->view($view\u name,$data),这意味着它没有按应有的方式工作。。它应该在div(mang_服务器)中加载视图,但它正在加载在控制器的index方法中指定的视图。@Nilesh但$view_name是load_视图方法的参数,该方法只接受该参数,将其传递给模型,模型从数据库获取视图的名称并返回控制器,然后控制器加载名为的视图。为什么我要将($view\u name)传递给视图?如果($this->session->userdata('admin\u name')!='',那么这一行就有打字错误{上面的代码在Thanx@prathamesh中不起作用…但是你能告诉我为什么你将json作为数据类型。因为我们正在从controllerhey@HADS-147返回json数据,请查看编辑的部分。希望它能让你的疑问清楚。谢谢你的帮助…但我不明白为什么单击后会转到索引方法中提到的视图。。
 $.ajax({

             url: '<?php echo base_url() ?>admin/load_view/', 
             type: 'POST',
             dataType:'json',
             data: {'view_param': value},
             success: function(response)
             {

                $('#mang_server').html(response.html_view);

             }
 });
public function load_view($view_name){

  $data['view_link'] = $this->admin_model->load_view_model($view_name);

  // IF $data['view_link'] is the name of the view file you are trying to load
  $response['html_view']$this->load->view($data['view_link'],'',TRUE);
  // While loading a view in codeigniter it accepts three parameters
  // $this->load->view("name of the view file","data to be passed to the view or not","Returning views as data");
 // For more refer at the end of the page http://ellislab.com/codeigniter/user-guide/general/views.html
  echo json_encode($response);
}