3

jsbin,在不支持(window.history && window.history.pushState)修改 url 的浏览器上window.location.hash = data.edit;详见此处)。

这会创建这样的网址

http://jsbin.com/#/imetor/1/edit

如何让 django 的 urls.py 处理这样的 url? 我什至不确定哈希是否正在发送到服务器。如果它没有被发送到服务器,那么 jsbin 使用什么技术将这些参数传递给服务器?

FWIW,这不起作用:

url(r'^#/(?P<project_id>[0-9A-Za-z]{6,})', 'mysite.views.project_hash', name='project_hash'),
4

1 回答 1

1

你说的对。# 之后的部分不会发送到服务器。

在 django 中,如果你想查看发送到服务器的 url,你可以这样做

print request.get_full_path()

在 jsbin 的情况下,服务器返回一个包含 javascript 代码的页面,然后读取 url 参数并执行代码来个性化页面。解析 url 并执行函数的 javascript 代码示例是 Backbone.Router ( http://backbonejs.org/#Router )。

于 2013-05-14T15:58:44.170 回答