我正在开发简单的网络应用程序,要求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('/')
});
});
任何建议将不胜感激。谢谢你的时间。
要获取表单数据,您必须使用:
req.body.post