0
我正在使用npm "twit",它最終發佈Twitter狀態更新。我讓用戶填寫表單,表單的操作是對home/tweet/
這樣的路徑的發佈請求。提交表單操作發佈API,我需要郵政路由嗎?
在我的快遞路由器中,我有一個路由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
的獲取請求?
如果我理解正確,您希望自己的代碼看起來像用戶通過表單發送推文時,推文會直接發送到Twitter?我在問,因爲我想我有一個答案,但我可能會回答錯誤的問題。 – 2014-09-21 16:51:42
是的,目前「發佈」路線不在任何地方發佈數據。它或多或少地從req.body中獲取數據。然後在抓取數據後發佈到twitter。對我來說,這看起來有點不可靠,我覺得我應該能夠直接發佈到twitter,而不必爲了獲取用戶req.body而創建額外的發佈請求路由。 – HelloWorld 2014-09-21 20:17:32
我看到它背後的好處,因爲這會阻止額外往返(客戶端到服務器,然後服務器到Twitter,然後返回),但似乎Twitter沒有啓用[CORS](http://en.wikipedia。 org/wiki/Cross-origin_resource_sharing)。 – 2014-09-21 21:22:11