2014-02-14 64 views
0

我有兩條路線。每個請求之前,應該有火法:某些路線上的快速路線處理/ req.body爲空

app.all('*',function(req,res,next){ 
    console.dir(req.body); 
    // Some more stuff 
}); 

我打個電話POST我的第一條路線:

$ http.post( '/用戶/登錄',{ 別名:$ scope.alias, 密碼:$ scope.password });

一切正常,Express將日誌記錄到控制檯的憑據。

我把另一條路線:

$ http.post( '/貨運/刪除',{ 別名: '11', 密碼: '22' })

Express記錄一個空的對象。

WTH在這裏發生了什麼?

+0

我假設你正在使用'bodyParser()'或(希望)'urlencoded()'來解析請求體? –

回答

0

可能是一條不同的路線將POST與/users/login匹配。 Express路由是關於將處理函數的請求路徑匹配的。您必須發佈所有相關路徑路徑和處理函數,以便向我們展示您的錯誤,如果您不確定哪些是相關的,請將它們全部發布。但實際上你可能不想使用app.all('*'有史以來。瞭解中間件:app.use(而不是因爲這兩個工作稍有不同,中間件通常更加正確/有用。

+0

使用app.use時出現同樣的問題 – user2422960