我正在使用Meteor应用程序中的accounts-entry包。我希望能够为我们的应用程序的合作伙伴提供通过链接将用户引荐给我们的能力,例如:ourawesomeapp.com?partnerId=1234
。当用户来自合作伙伴时,我希望能够将其存储在partnerId
字段Accounts.onCreateUser(function(options, user){
user.partnerId = partnerId from the query string here...;
return user;
});
下,以便在用户向我们支付费用时支付佣金。我目前正在尝试使用它:(请注意,此Accounts.onCreateUser()方法仅在服务器上运行)
partnerId
我遇到的问题是从查询字符串中获取{{1}}到服务器,以便能够在那里使用它。
答案 0 :(得分:1)
如果您使用推荐的Meteor路由包iron-router,您可以像这样访问查询字符串:
// given the url: "/?partnerId=1234"
Router.route('/', function () {
var partnerId = this.params.query.partnerId;
});
如果the query string isn't available on the server,可以选择使partnerId
成为网址路径而不是查询字符串:
Router.route('/partner/:_id', function () {
var partnerId = this.params._id;
}, {where: 'server'});
iron-router guide中的更多内容。