我在client side
上使用以下代码来设置Session变量:
Template.download.events({
'click button': function() {
var clientid=Random.id();
UserSession.set("songsearcher", clientid);
console.log(clientid + UserSession.get("songsearcher"));
我使用的是以下版本:Meteor-User-session,它将解释使用UserSession
代替Session
。
现在,这很好用。
但是当我尝试在服务器端获取Session变量时,这就是我使用上述Package的原因,它在Developer工具中给出了以下错误:
UserSession.set @ VM106 benjaminrh_user-session.js?6483f8d2c775bfb11a28a707104fc5cbd79bb6bb:61Template.download.events.click button @ VM120 client.js?c0ec6b46a653f555e1b4403f9469cd8483ddc49c:13(anonymous function) @ VM112 blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:3502Template._withTemplateInstanceFunc @ VM112 blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:3476(anonymous function) @ VM112 blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:3501(anonymous function) @ VM112 blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2543Blaze._withCurrentView @ VM112 blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2197(anonymous function) @ VM112 blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2542(anonymous function) @ VM112 blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:839jQuery.event.dispatch @ VM108 jquery.js?dd8bac56f8fd3666d433d2285ae01e52597cc51a:4698jQuery.event.add.elemData.handle @ VM108 jquery.js?dd8bac56f8fd3666d433d2285ae01e52597cc51a:4366
这是因为我使用的软件包是不推荐的,或者你知道Meteor改变了他们自己的代码?如果是的话,那是什么方式?
答案 0 :(得分:1)
我真的不了解你的需要。为什么要与服务器共享会话? 会话仅限客户端,但如果您使用Meteor方法或订阅,则可以发送值。在第二种情况下,您的sbscription可以响应会话依赖性。
您能否提供更多信息来帮助您?
答案 1 :(得分:0)
只有一种方法可以解决这个问题,那就是添加帐户系统,因为这是Meteor.userId()函数唯一可以处理的问题。
meteor add accounts-ui accounts-password