我想在codeigniter中開發簡單的CMS ..在主視圖中有幾個鏈接到其他頁面,但我希望所有的頁面在指定的同一視圖中打開DIV無需爲每個頁面加載(AJAX LOADING)。我試圖通過AJAX調用來實現這一點,但我厭倦瞭解它爲什麼不適合我。每當我點擊鏈接時,只需從LOGIN_VIEW控制器的索引方法加載視圖。 這裏是我的CMSAJAX不工作codeigniter加載頁內相同的DIV
<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調用是搞亂。
這裏是我的控制器方法
public function index()
{
if($this->session->userdata('admin_name'!='')){
$this->data['title'] = "Admin Area";
$this->data['ops'] = $this->admin_model->get_admin_ops();
$this->load->view('admin_view.php',$data);
} else {
$data['title'] = "Admin login";
$this->load->view('admin_login.php',$data);
}
}
public function load_view($view_name)
{
$data['view_link'] = $this->admin_model->load_view_model($view_name);
$this->load->view($data);
}
請告訴我,我做什麼大錯。
你說的意思是:但是阿賈克斯電話已經搞亂了。 – Merlin
嘗試在load_view函數 – Nilesh
中傳遞像$ this-> load-> view($ view_name,$ data)這樣的視圖名稱意味着它不能以它應該工作的方式工作。它應該在div(mang_Server)中加載視圖,但它正在加載在控制器的索引方法中指定的視圖。 –