这可以通过 AJAX 完成,您将需要一个内容/视图/页面锚来确定加载的内容,然后您可以使用它从您的 php 加载内容,
#hash
这是用于确定内容的 jQuery 代码片段,因此http://example.com/#home
将执行 ajax 请求$_POST['view']='home'
$(function(){
// Detect hashchange (browser back/forward buttons)
$(window).bind('hashchange', function() {
load_content();
});
// Init content
load_content();
});
function load_content(){
//get the hash
var page = window.location.hash;
page = page.substring(1);
if(page == ''){
page='home';
}
//get the content, replace any - with / so php can route to sub actions ect
$.post("./", { 'view': page.replace("-","/") },
function(data) {
//load the content into the load container
$("#load").html(data).fadeIn('slow');
});
}
<div id="load"></div>
然后你可以简单地在 php 中找到你的脚本的路径:
$route = explode('/',$_POST['view']);
$controller = (!empty($route[0])) ? $route[0] : null;
$action = (!empty($route[1])) ? $route[1] : null;