我是Codeigniter的初學者。這將是我第一次使用Ajax。當我點擊導航鏈接時,我只想要「內容」部分更改。我需要學習如何在我的網站中使用ajax。需要Codeigniter ajax信息
MY_Controller.php:
class MY_Controller extends CI_Controller {
protected $data = array();
function __construct() {
parent::__construct();
}
function render_page($view) {
if(! $this->input->is_ajax_request())
{
//do this to don't repeat in all controllers...
$this->load->view('templates/header', $this->data);
//menu_data must contain the structure of the menu...
//you can populate it from database or helper
}
$this->load->view($view, $this->data);
if(! $this->input->is_ajax_request())
{
$this->load->view('templates/menu');
$this->load->view('templates/footer', $this->data);
}
}
我家/約控制器視圖功能:
public function view($page = 'home')
{
$this->load->helper('text');
$this->data['records']= $this->services_model->getAll();
if (! file_exists('application/views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
$this->render_page('pages/'.$page,$data);
}
我想,我可以在MY_Controller.php使阿賈克斯。在此之後要做什麼?我如何在視圖中啓用帖子?
編輯:我做了一些關於jQuery和ajax的更多研究。 這是HTML的我的導航菜單部分:
<div id="sidebar-content">
<ul id="menu">
<li class="current"><a href="<?php echo site_url('home'); ?>">ANASAYFA</a></li>
<li><a href="<?php echo site_url('about'); ?>">HAKKIMIZDA</a></li>
......
我已經寫在頭部分ajax.js文件:
//導航
$("#sidebar-content ul li a").click(function(){
$.ajax({
url: "<?php echo site_url('about'); ?>",
type: 'POST';
data: JSON,
success: function(msg) {
$('#content').body(msg);
}
});
});
return false;
});
您可以優化我的代碼?還有一個問題是:如果我在頭部使用ajax,我怎樣才能發佈不同的網頁作爲網址?
我不確定我理解你的問題:S – 2012-08-04 19:17:34
我做了更多解釋。我之前沒有使用過Ajax。我試圖理解它的邏輯。 $這個 - >輸入 - >後( 'some_data'); ...我如何使用導航菜單? – ytsejam 2012-08-04 19:22:11
無論如何,你的代碼中有什麼問題?我想這會在使用AJAX時完美無瑕。 「你如何在視圖中啓用Ajax?',我不明白你在說什麼。你在尋找jQuery代碼示例嗎? – Abdulaziz 2012-08-04 19:43:29