如何在Backbone中获取url参数?

时间:2017-02-13 11:20:02

标签: javascript backbone.js query-string backbone-routing

我使用Backbone和Marionette。

我有一个链接<a>标记,其中我传递的参数很少,如何使用Backbone在其他网页中提取这些值?

<a href="http://localhost.com:8080/help/?name=matth&age=25&email=matt@gmail.com">View Details</a>

地址栏网址:

http://localhost.com:8080/help/?name=matth&age=25&email=matt@gmail.com 44

使用Php,这很简单:

$Url = $_GET['state']."#".$_GET['city']; 

如何在我的Backbone应用程序中实现它?

1 个答案:

答案 0 :(得分:5)

如果路线定义如下:

'help/:name&:age&:email' : 'help'

然后您可以通过在方法的签名中定义它们(在骨干路由器中)来访问 help函数中的这些参数,

help: function(name, age, email) {
    // do whatever you want with the params
}

在你的情况下,这会给你这样的参数:

name="XXX" age="XXX"

所以正确的路由是

'help/?(name=:name)(&age=:age)(&email=:email)' : 'help'

括号中的部分是可选的。

Backbone docs

  

路由可以包含参数部分:param

请注意,订单很重要,以下网址不会触发路由回调。请注意emailage参数的放置。

help/?name=test&email=test%40example.com&age=6

为了触发路线而不管参数的数量及其排序,请查看路线功能中的parse the query string如何,但这并不总是有效。