1

Backbone.js 在哈希标记后的 URL 中维护路由信息,例如:

http://localhost:3000#page/hardware/table/?action=details&actionTargetId=5&actionTargetName=10.3.177.185&actionTarget=host

即使路由信息的格式是 ?p1=v1&p2=v2&p3=v3,这部分在技术上并不是 url 查询字符串的一部分,因为它位于哈希标记之后。

我的问题是,如果我向我们的应用程序的网址添加一个实际的查询字符串,如下所示:

http://localhost:3000?newparam=newvalue#page/hardware/table/?action=details&actionTargetId=5&actionTargetName=10.3.177.185&actionTarget=host

“newparam” url 参数是否有可能干扰主干部分?

4

1 回答 1

-1

问题是您实际上并未创建合法的查询字符串。您将路线与参数混合。

您的示例格式为: domain ? param # route ? other params

一旦问号出现在 url 中,它就会被解释为查询字符串。(在这种情况下)甚至是你的路线。

我个人建议使用 html5 pushstate。

Backbone.history.start({pushState: true})

这会给你干净的(呃)网址

http://localhost:3000/page/hardware/table/?newparam=newvalue&action=details&actionTargetId=5&actionTargetName=10.3.177.185&actionTarget=host

这将帮助您的路线不干扰您的参数。

于 2013-08-01T20:08:25.500 回答