Meteor:将会话值从客户端传递到服务器

时间:2015-06-15 18:47:32

标签: javascript node.js session meteor

我在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改变了他们自己的代码?如果是的话,那是什么方式?

2 个答案:

答案 0 :(得分:1)

我真的不了解你的需要。为什么要与服务器共享会话? 会话仅限客户端,但如果您使用Meteor方法或订阅,则可以发送值。在第二种情况下,您的sbscription可以响应会话依赖性。

您能否提供更多信息来帮助您?

答案 1 :(得分:0)

只有一种方法可以解决这个问题,那就是添加帐户系统,因为这是Meteor.userId()函数唯一可以处理的问题。

meteor add accounts-ui accounts-password