2012-05-11 222 views
0

我正在創建一個小型商業網站,我只想要更改內容,並保留頁眉/頁腳。我的目標是在不更改URL的情況下更改內容。刷新內容不更改頁面

我原本打算使用AJAX,但我意識到每個頁面都有不同的佈局,所以我不知道如何配合這個。如果我要使用AJAX,我會將所有數據存儲在XML中。在這種情況下,我需要爲每個頁面創建一個新的XSLT嗎?有沒有更好的解決方案呢?

+0

你爲什麼打算使用XML和XSLT? –

+0

我唯一知道的AJAX存儲解決方案是使用數據庫和XML。由於這個網站只有幾頁大小,我覺得使用數據庫是過分的。 – Jon

+0

今天大多數AJAX都使用json作爲媒介,即使最初AJAX名稱來自XML(並且內部使用的對象仍然是XmlHttpRequest)。如果您沒有嚴肅的理由使用XML,請不要。 –

回答

2

2種主要途徑:

1)您可以在一個共同的js文件所有網頁的HTML。這與你最初的選擇是一致的。

你fonction可能是這樣的(假設你使用jquery,我建議):

// that's in the js file 
function addHeaderAndFooter() { 
    var html = '<div id=myheader>header stuff</div>'; 
    $(html).prependTo('body'); 
} 

然後你會說它是這樣的:

// that's in each html file 
$(window).load(function(){ 
    addHeaderAndFooter(); // that's your function defined in your common js 
}); 

2)服務器端生成系統:以PHP爲例,很容易在所有頁面中包含常量元素。事實是,很少有商業網站可以真正避免使用服務器端代。

XML和XSLT的使用是可能的,但今天並不常見,因爲它很重且不友好。

如果沒有更多的要求,很難說如果你應該使用解決方案1或2,但對於不熟悉硬核開發的人,並假設你的網站會有更多的3 4頁,我建議使用類似PHP:它更經典。

+0

你能否詳述一下你的第一點?你的意思是使用JavaScript來控制哪些內容代碼(存儲在js文件中)通過使用諸如getElementById('content')的內容來顯示。innerHTML = locationPage'? – Jon

+0

編輯詳情。 –

+0

從我對方法1的理解中可以看出,當我瀏覽網站時,我會轉到一個新的URL。我試圖達到這樣的效果,在瀏覽我的網站時,我無需轉到新的URL。我是否理解你的解釋? – Jon