如何在没有哈希值或php变量的情况下基于URL加载内容?

时间:2013-04-11 15:26:50

标签: php ajax url web frontend

如果这个问题需要进一步澄清,请告诉我。

我是一名前端开发人员,我经常使用Wordpress和许多自定义字段为客户组建CMS。

当前客户希望设计组合网站最初提供链接到项目的图像网格,但不是在点击时加载新页面,新内容会顺利加载和淡入。

我认为最简单的方法是使用ajax(加载屏幕正常)在一个页面上加载所有内容,然后使用jQuery显示/隐藏/移动内容。

我遇到问题的请求是能够为不同的项目和图像提供特定的URL。客户想要一个像这里的URL方案: http://collins1.com/work/bp-helios-house/3

最后的数字导致在给定项目中加载特定图像。看起来这很简单,使用php变量,如:

http://www.whatever.com?project=3&image=2

使用它们来操纵最初的AJAX负载。

但是如何使用像示例这样更传统(漂亮)的URL结构来实现?如果我将网站构建为一个页面加载内容,浏览器是否会尝试将其作为一个页面加载而只是想出一个404?

额外奖励:当用户导航网站而不重新加载页面时,如何更改地址栏中的URL以创建这些链接?

谢谢!

2 个答案:

答案 0 :(得分:0)

你在那里看到的,叫做url routing。基本上,一些服务器规则以适当的方式重写URL,具体取决于所使用的服务器和脚本语言。

例如,网址

http://server.com/foo/bar

可以重定向到

http://server.com/index.php?foo=bar

如果您需要轻量级框架来处理此问题,请查看www.slimframework.com

答案 1 :(得分:0)

如果你想要真正漂亮的网址,你需要一个服务器端框架来进行网址路由,并且需要你在rails上进入php或ruby。如果你想要一个纯粹的前端解决方案,你可以使用哈希片段在javascript中伪造它。有关如何执行此操作,请参阅

http://backbonejs.org/#Router

http://www.asual.com/jquery/address/

http://benalman.com/projects/jquery-hashchange-plugin/