【发布时间】:2014-11-17 07:05:47
【问题描述】:
我有一个默认控制器:
class Home 扩展 CI_Controller {
public function index()
{
$data['content']='discover';
$this->load->view('layouts/master', $data);
}
public function categories()
{
$this->load->view('categories');
}
}
点击时,使用 AJAX 我能够加载视图 categories.php 并将 URL 更新为 www.mywebsite.com/categories 而无需刷新页面。
但是现在,如果用户直接使用链接登陆这里或刷新页面,他最终只会加载 categories.php 视图而不是 master.php 视图
如何在直接 URL 导航或页面刷新时加载 master.php 和 categories.php 视图
使用 AJAX 时只需加载 categories.php。
我的 AJAX:
$('#navbar a').click(function(e){
e.preventDefault();
href=$(this).attr('href');
if (href.indexOf(document.domain) > -1 || href.indexOf(':') === -1){
window.history.pushState('obj', '', href);
navigat(href);
}
});
function navigat(href){
$.ajax({
type:'GET',
url:href,
cache:false,
dataType: 'html',
statusCode: {
404: function() {
$("#content").html('Could not contact server.');
},
500: function() {
$("#content").html('A server-side error has occurred.');
}
},
error: function() {
$("#content").html('A problem has occurred.');
},
success: function(html) {
$('#content').html(html);
}
});
};
谢谢!
【问题讨论】:
标签: php jquery ajax codeigniter controller