2012-05-11 223 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