我有一个index.php,它将page.php加载到#result div中。 Page.php又有自己的链接,我有它,所以当你点击其中一个链接时,它会将相应的页面加载到SAME #result div中。同样,加载的页面可能有自己的链接,我想继续将内容加载到同一个div中。代码如下:
function loadPage(url){
$("#wrapper").load(url, function(){
$("#wrapper").find($('a')).each(function(){
$(this).on('click', function(e){
loadPage($(this).attr('href'));
e.preventDefault();
});
});
});
}
假设page.php有一个指向page2.php的链接。
当我在新窗口中打开指向page2.php的链接时,它将以page2.php打开。如果我直接在我的浏览器中输入page2.php的URL。我希望它以index.php的形式打开,但是将page2.php加载到#result div中(通常在原始窗口中单击链接的副本)。
你是怎么做到的?我已经尝试了很多东西,包括设置会话变量和传递给loadPage,但似乎没有任何工作。
答案 0 :(得分:1)
你想通过ajax请求改革你的结果div吗?如果是,那么使用
jQuery.ajax(url,[settings]) ;
答案 1 :(得分:1)
事实证明我在设置会话变量!!!的情况下走在了正确的轨道上。
在index.php中,刚开始会话后,您必须检查是否已设置会话变量。如果没有,请将其设置为page.php,即
if(!isset($_SESSION['id']))
$_SESSION['id'] = "page.php";
然后在page2.php中,在设置会话后立即将会话变量设置为page2.php。即。
$_SESSION['id'] = "page2.php";
在重定向到index.php之前,你必须在login.php中设置它。
如果您将“id”会话变量设置到正确位置的右侧页面,则应该获得所需的行为。
答案 2 :(得分:0)
试试这个:
function loadPage(url){
$.get(url, function(data){
$("#wrapper").empty().append(data);
$("#wrapper body").find('a').each(function(){
$(this).click(function(e){
e.preventDefault();
loadPage( $(this).attr('href') );
});
});
});
}