提交API的表单操作帖子,我需要一个邮寄路线吗?

时间:2014-09-21 14:41:36

标签: node.js forms twitter express

我正在使用npm "twit",它最终发布了Twitter状态更新。我让用户填写表单,表单的操作是对home/tweet/之类的路径的发布请求。

在我的快递路由器中,我有一条路线home/tweet/。表单数据并没有真正发布在那里,我这样做的原因是因为我正在提取表单字段qith req.body然后在路由器内部我向Twitter发送请求以创建新的推文。这是它的样子:

router.post("/tweet/", function(req,res){
    var tweet = req.body.tweet;
    Twitter.post('statuses/update', { status: myFuncs.encode(myFuncs.key, tweet) }, function(err, data, response) {

    });
    res.redirect('/');
})

即使这样有效,但对我来说感觉有点笨拙。有没有更好的方法来设计它?有没有更好的方法来提取表单字段而不使用req.body的帖子请求,或使用req.query的获取请求?

1 个答案:

答案 0 :(得分:1)

虽然,我同意它似乎&#34; hacky&#34; ---正如你所说的那样---但不幸的是,由于Twitter没有在其API上启用CORS,你别无选择< em>但使用中介,例如您的服务器。或者,您可以使用第三方服务,但仍然就像您的服务器一样是中间人。