2017-01-18 104 views
1

我想發出一個簡單的POST請求使用郵遞員到我的快遞應用程序,但是發佈請求超時。快遞app.post請求沒有響應郵遞員POST請求

這裏是要求:

<code>http://localhost:3000/?inviteCode=12</code>

這裏是應用程序:

import express from 'express' 
import bodyParser from 'body-parser' 
import path from 'path' 

const app = express() 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 

app.post('/', (req,res) => { 
    console.log(req.body) 

    if (req.body.inviteCode === "12") { 
     res.json({value: "success"}) 
    } else { 
     res.json({value: "fail"}) 
    } 
}) 

app.listen(process.env.PORT || 3000,() => { 
    console.log(`App listening on ${process.env.PORT || 3000}`) 
}) 

console.log(req.body)打印出一個空對象{}

任何想法可能是什麼回事?

回答

1

您在Postman中的POST參數中沒有包含inviteCode(如您在屏幕截圖中的「Body」標籤下的鍵值條目所示),而是傳遞inviteCode作爲URL查詢參數,該參數將被設置在req.query.inviteCode

要從查詢參數(在URL)使用它,匹配您的郵差要求:

app.post('/', (req,res) => { 
    req.query.inviteCode === "99" ? res.json({value: "success"}) : res.json({value: "fail"}) 
}) 

還是在POST體,這就需要修理你的郵差要求使用它:

app.post('/', (req,res) => { 
    console.log(req.body) 

    req.body.inviteCode === "99" ? res.json({value: "success"}) : res.json({value: "fail"}) 
}) 
+0

你是對的,但當我發送正確的有效負載時,它仍然失敗。編輯我的問題以反映此 – softcode

+0

您尚未在Postman屏幕截圖的正文標籤下添加'inviteCode'鍵和值。 – MattMS

+0

帽子給你 – softcode