Javascript 如何在保持相同参数的情况下更新主干URL以获取新数据 问题
我有一个从api请求任务的集合,其url设置为/api/tasks/。我希望能够根据日期和环境(工作、家庭等)获得不同的任务。当浏览到具有不同参数的url时,集合将使用额外参数更新其url并获取新数据 为了实现这一点,我创建了两个小部件,一个日历小部件和上下文选择器。日历中的链接将指向Javascript 如何在保持相同参数的情况下更新主干URL以获取新数据 问题,javascript,backbone.js,routes,url-routing,Javascript,Backbone.js,Routes,Url Routing,我有一个从api请求任务的集合,其url设置为/api/tasks/。我希望能够根据日期和环境(工作、家庭等)获得不同的任务。当浏览到具有不同参数的url时,集合将使用额外参数更新其url并获取新数据 为了实现这一点,我创建了两个小部件,一个日历小部件和上下文选择器。日历中的链接将指向year/xxxx/month/xx/day/xx,选择器链接可能指向context/work。我点击一个日期,然后导航到myapp.com/tasks/#year/2012/month/09/day/25。现在我
year/xxxx/month/xx/day/xx
,选择器链接可能指向context/work
。我点击一个日期,然后导航到myapp.com/tasks/#year/2012/month/09/day/25
。现在我想查看不同的上下文,但单击会导致我的url更改为myapp.com/tasks/#context/work
删除我刚才所在的日期
解决方案
- 我需要保留旧参数,如日期段,同时添加新参数,如竞赛
- 此外,我需要更新url中已经存在的参数,而不是添加新的参数(例如,将
更改为myapp.com/tasks/#year/2012/month/09/day/25/context/work
,而不是myapp.com/tasks/#year/2012/month/09/day/25/context/home
)myapp.com/tasks/#year/2012/month/09/day/25/context/work/context/home
我怎样才能做到这一点?我不明白你的问题。。您可以编写一个方法,将URL分离(即window.location.hash.split(“/”),然后从那里重新构建它,对吗?我想到了,但我的问题是,当链接触发路由器时,uri不包含旧的段。如果我访问
#上下文/工作
我将不再有#年/xxxx/月/xx/日/xx
进行拆分和重建。