Backbone.js 使用主干路由器解析url参数-正则表达式示例

Backbone.js 使用主干路由器解析url参数-正则表达式示例,backbone.js,router,Backbone.js,Router,我使用的是Backbone.js,我有一个指向我的集合的url,后跟一个param字符串-param可以以任何顺序出现,param的数量可以不同 mywebsite.com/?orderBy=recent&author=Smith mywebsite.com/?author=Smith&type=恐怖、浪漫 因此,在某种程度上,/:param并不理想,除非我定义了它们在url中的顺序: /:orderBy/:author/:键入 并允许其中一些以某种方式为空 最好的设置方法是什么? 带regex

我使用的是Backbone.js,我有一个指向我的集合的url,后跟一个param字符串-param可以以任何顺序出现,param的数量可以不同

mywebsite.com/?orderBy=recent&author=Smith

mywebsite.com/?author=Smith&type=恐怖、浪漫

因此,在某种程度上,/:param并不理想,除非我定义了它们在url中的顺序:

/:orderBy/:author/:键入

并允许其中一些以某种方式为空

最好的设置方法是什么? 带regex的路由器能回答我的问题吗? 如果是这样,我找不到路由器使用regex将多个参数传递给主干中的路由函数的示例


谢谢

我认为url参数不应该像restFul接口不映射查询字符串那样映射查询字符串

/cars?filterby=12 would be more correct then some sort of /cars/filterby/12
我知道rest不是一个应用程序路由,但它们仍然有相同的警告

jQuery包含一个
$.param
函数,用于轻松处理查询字符串,jQuery BBQ包含一个
$.deparam
util,可以解析查询字符串

保持你的路线简单

mywebsite.com/#/authors?orderBy=recent....

我也有同样的问题。下面是一个主干插件,它可以完成这项工作:


干杯

也许这个答案也适用于你:你应该接受一些问题的答案。