在Ruby on Rails路由(使用route.rb)中,可以说,对于任何具有以下形式的URL:
www.example.com/ ... #! ...
然后使用控制器redirect
?
这样,在AJAX中,某些页面可以标记URL末尾的#!
,以便感兴趣的真实内容是#!
答案 0 :(得分:4)
你似乎想做像facebook那样的事情,是吗?
那么,你需要考虑在浏览器上的ajax中做了什么,以及在服务器上做了什么,以及浏览器发送给服务器的内容。具体来说,你应该知道这一点:
浏览器永远不会在#
签名之后向服务器发送任何内容。
因此,如果网址为http://mysite.com/foo/bar#!/baz
,则向服务器发送的所有更明显的是http://mysite.com/foo/bar
。所以你的问题,关于服务器端处理,并没有真正意义,因为服务器端的Web应用程序看不到。
你需要的是一些浏览器端的javascript来获取以#!
结尾的网址,并为服务器创建XMLHttpRequest
类似http://mysite.com/content_js/bar
的内容,然后可以返回内部没有所有页眉,页脚和侧边栏的内容,包含在某种json对象中。然后,浏览器端的javascript可以呈现该内容。