2017-02-20 88 views
0

我有一个使用express来充当REST API的heroku上的节点应用程序。当express和node发送POST时req.body空无处不在

在上周四和周五,它工作得很好,当时我会通过firefox使用REST Easy。我希望在星期六上午,请求将不再发送数据。

我可以看到请求的有效负载中的数据,但它永远不会让它到请求主体。

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

let app = express(); 

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

app.set('port', (process.env.PORT || 5000)); 

let router = express.Router(); 

router.post('/', (req, res) => { 
    res.json(req.body); 
}); 

app.use('/api', router); 

app.listen(app.get('port'),() => { 
    console.log('Node app is running on port', app.get('port')); 
}); 

所有我回来是一个空的对象,我相信这是在通过的bodyParser.json()

产品我用application/x-www-form-urlencoded我送它作为表单数据,我甚至试图检查,以确保它不分析的两倍,这将导致关键是身体数据使用

try { 
    req.body = JSON.parse(Object.keys(req.body)[0]) 
} catch (err) { 
    req.body = req.body 
} 

我完全在这一点难倒了,有什么想法?

+0

您是使用邮递员发送数据还是html表格 –

+0

我一直在使用https://addons.mozilla.org/En-us/firefox/addon/rest-easy/ – crohde7707

+0

req.body提供了关键数值数据 –

回答

0

看起来这是那个插件,只是在一夜之间停止工作。必须下载chrome并使用Advance Rest Client,并显示数据通过。感谢您跳过问题@ p0k8_

+0

使用邮递员https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en 更好,然后提前REST客户端, 确保给予好评的意见,如果你找到有用的人 –

相关问题