如何用Meteor解析url

时间:2013-01-04 00:45:12

标签: meteor

我正在将Meteor与另一个CMS一起使用,并且正在创建一个包含我需要运行Meteor的变量的URL(例如http://site.com?a=flash&b=hash)。如何使这些变量可用,并让Meteor忽略它作为一个位置?当我加载这样的网址时,我的应用无法正确加载,大概是因为它认为我在请求其他位置。

2 个答案:

答案 0 :(得分:1)

除非你使用例如,否则在Meteor中使用查询字符串应该没有效果。 Meteor Router根据当前URL调用不同的方法。

如果要解析查询字符串,只需用手动解析即可。 (在coffeescript中)

 querystring: ->
    qs = {}
    for pair in window.location.search.replace("?", "").split "&"
      [k, v] = pair.split("=")
      qs[k] = v
    qs

将返回如下对象:

{ "a": "flash", "b": "hash" }

答案 1 :(得分:1)

使用iron路由器,如果url中有查询字符串或散列片段,则可以使用this.params对象的查询和散列属性访问那些。

// given the url: "/post/5?q=s#hashFrag"
Router.route('/post/:_id', function () {
  var id = this.params._id;
  var query = this.params.query;

  // query.q -> "s"
  var hash = this.params.hash; // "hashFrag"
});