获得 URL 的一部分
getting some part of URL
我正在尝试获取此 URL (在服务器端)的结尾部分:
http://localhost:3000/insAds/D79htZY8DQ3YmcscE
我的意思是我想得到这个字符串:
D79htZY8DQ3YmcscE
有个类似的问题:How to get the query parameters in Iron-router?
但没有一个答案对我有帮助!因为我在 URL.
中没有查询参数
我知道这些代码为我提供了我想要的字符串:
this.params.id
和
Router.current().params.id
但这些代码仅适用于客户端!我想在服务器端获取该字符串!
最后我尝试获取该字符串并在此处使用:
Ads.before.insert(function(userId, doc) {
//console.log(this.params.id);
doc._categoryId = this.params.id;
doc.createdAt = new Date();
doc.createdBy = Meteor.userId();
});
您可以像这样使用 Router.current().params
或 this.params
Router.route('/insAds/:id', function () {
console.log(this.params.id); // this should log D79htZY8DQ3YmcscE in console
});
的快速入门部分中的第三个示例
编辑: 根据我们的聊天,
你的钩子是
Ads.before.insert(function(userId, doc) {
//console.log(this.params.id);
doc._categoryId = this.params.id;
doc.createdAt = new Date();
doc.createdBy = Meteor.userId();
});
改为
Ads.before.insert(function(userId, doc) {
doc.createdAt = new Date();
doc.createdBy = Meteor.userId();
});
然后像这样在服务器中定义 meteor 方法
Meteor.methods({
'myInsertMethod': function (id) {
Ads.insert({
_categoryId: id
});
}
});
像这样从客户端调用它
Meteor.call('myInsertMethod', Router.params().id, function (err, res) {
console.log (err, res);
});
我正在尝试获取此 URL (在服务器端)的结尾部分:
http://localhost:3000/insAds/D79htZY8DQ3YmcscE
我的意思是我想得到这个字符串:
D79htZY8DQ3YmcscE
有个类似的问题:How to get the query parameters in Iron-router?
但没有一个答案对我有帮助!因为我在 URL.
中没有查询参数我知道这些代码为我提供了我想要的字符串:
this.params.id
和
Router.current().params.id
但这些代码仅适用于客户端!我想在服务器端获取该字符串!
最后我尝试获取该字符串并在此处使用:
Ads.before.insert(function(userId, doc) {
//console.log(this.params.id);
doc._categoryId = this.params.id;
doc.createdAt = new Date();
doc.createdBy = Meteor.userId();
});
您可以像这样使用 Router.current().params
或 this.params
Router.route('/insAds/:id', function () {
console.log(this.params.id); // this should log D79htZY8DQ3YmcscE in console
});
的快速入门部分中的第三个示例
编辑: 根据我们的聊天,
你的钩子是
Ads.before.insert(function(userId, doc) {
//console.log(this.params.id);
doc._categoryId = this.params.id;
doc.createdAt = new Date();
doc.createdBy = Meteor.userId();
});
改为
Ads.before.insert(function(userId, doc) {
doc.createdAt = new Date();
doc.createdBy = Meteor.userId();
});
然后像这样在服务器中定义 meteor 方法
Meteor.methods({
'myInsertMethod': function (id) {
Ads.insert({
_categoryId: id
});
}
});
像这样从客户端调用它
Meteor.call('myInsertMethod', Router.params().id, function (err, res) {
console.log (err, res);
});