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