1

我有一个 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,但似乎没有任何效果。

4

3 回答 3

1

事实证明,我在设置会话变量方面走在了正确的轨道上!!!

在 index.php 中,刚开始会话后,您必须检查会话变量是否已设置。如果没有,请将其设置为 page.php 即

 if(!isset($_SESSION['id'])) 
     $_SESSION['id'] = "page.php";

然后在 page2.php 中,在设置会话后立即将会话变量设置为 page2.php。IE

 $_SESSION['id'] = "page2.php";

此外,在重定向到 index.php 之前,您必须在 login.php 中设置它。

如果您将“id”会话变量设置到正确位置的正确页面,您应该会获得所需的行为。

于 2013-05-08T17:01:26.500 回答
1

你想通过 ajax 请求改革你的结果 div 吗?如果是,那么使用

jQuery.ajax(url,[settings]) ;
于 2013-05-08T07:09:43.717 回答
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') );
         });
       });
   });
}
于 2013-05-08T07:04:51.200 回答