2013-02-05 86 views
1

所以這裏是我的困境。我在我的網站的主頁上有幾個包含,並且它們在初始加載時工作。但是,如果您離開主頁並返回,則包含內容已損壞。你可以see it live here。涉及以下代碼。在索引結構包括AJAX導航後不工作

<? include("packages/blog/s3blog.class.php"); ?> 
<? include("packages/core/s3core.class.php"); ?> 
<? include("packages/core/s3data.class.php"); ?> 

首頁位置:

包括在主頁上

<div class="row" id="content"> 
    <? 
    if($_SESSION['auth'] == 1) { 
      include("packages/Blog/manage.php"); 
    } 
    elseif(isset($_GET['page'])) { 
     include("pages/".$_GET['page'].".php"); 
    } 
    else { 
     include("pages/home.php"); 
    } 
    ?> 
    <div class="row-end"></div> 
</div> 

腳本用來加載在導航點擊網頁:

$(document).ready(function() { 
    $('a.js-ajax').click(function(event) { 
     set_ajax_link($(this), event); 
    }); 
}); 
function set_ajax_link(el, event){ 
    event.preventDefault(); 
    var url = el.attr("href"); 
    load_page_content(url); 
} 
function load_page_content(url){ 
    $("#content").load(url, { 'ajax': 'true' }, function(){ 
     $('#content a.js-ajax').click(function(event) { 
      set_ajax_link($(this), event); 
     }); 
    }); 
} 

任何想法?

謝謝!

+0

短標籤不是一個好選擇使用''將是更好的方法imho –

+0

我選擇我的主機,因爲它們支持短標籤,它更清潔imho。但謝謝你的反饋。我使用擴展標籤編寫我的客戶站點。 –

+0

我不認爲這個包含應該會因爲你回到頁面而中斷。 PHP是服務器端,不會受到客戶端的影響。當你說它壞了時,你的意思是什麼?你得到PHP錯誤,或導航停止運作?如果是後者,那麼這是一個JS問題。 – Julio

回答

1

測試

<?php 
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__)); 
$page=basename($_SERVER['REQUEST_URL'],'php'); 
include('pages/'.$page.".php"); 

在測試目錄的.htaccess創建pages.php(在Apache的情況下)

RewriteCond %{REQUEST_URI} ^testing/pages/ [NC] 
RewriteRule .* pages.php [L] 

不teseted,但我希望你有這個想法。

+0

似乎已經工作。謝謝你,先生。 –