2

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

4

2 回答 2

1

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

如果要解析查询字符串,只需使用例如手动解析它。(在咖啡脚本中)

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

这将返回一个对象,如:

{ "a": "flash", "b": "hash" }
于 2013-01-04T01:54:30.327 回答
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"
});
于 2014-11-26T14:44:24.633 回答