将Facebook数据保存到Mongodb(Node.js + Express + jade)

时间:2012-06-07 06:03:38

标签: facebook node.js mongodb express

我正在开发简单的网络应用程序,要求Facebook访问令牌并检索登录用户的“发布”数据。

点击“登录”后,它会调用FB.api来检索用户帖子并在javascript中使用innerHTML来更新用户状态:

<div id="fb-root"></div>
<div id="user-info"></div>
<div id="user-email"></div>
<div id="user-status" name="post"></div>
<button id="fb-auth">Login</button>

我的目标是将这些更新的数据保存到mongodb中。

我试过的是在检索帖子时强制提交表单并在'name =“post”'中传递数据,但是,这会使页面再次刷新,并且值显示未定义。

使用Javascript:

FB.api('/me/posts', { limit: 100 }, function(response) {
            var userStatus = document.getElementById('user-status');
            for (var i=0, l=response.data.length; i<l; i++) {
              var post = response.data[i];
              if (post.message) {
                userStatus.innerHTML = userStatus.innerHTML + ' ' + post.message ;

                var form = document.createElement('form');
                form.setAttribute('method', 'post');
                form.style.display = 'hidden';
                document.body.appendChild(form);
                form.submit();

              } else if (post.attachment && post.attachment.name) {
                alert('Attachment: ' + post.attachment.name);
              }
            }             
          });

app.js(req.param('post')未定义,因此mongodb会注入未定义的数据):

app.post('/', function(req, res){
  postProvider.save({
    posts: req.param('post')
  }, function(error, docs){
    res.redirect('/')
  });
});

任何建议都将不胜感激。 谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

要获取您必须使用的表单数据:

req.body.post