node.js - req.body 是空的,我不知道为什么
问题描述
我是 express 和 node 的新手,我正在尝试向我的服务器发布 axios 帖子,但是当我 console.log in node 时 req.body 为空。有人知道我在做什么错吗?我正在控制台记录并发送给邮递员。
这是 server.js
const app = require('express')()
const bodyParser = require('body-parser');
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
app.get('/', (req, res) => {
res.send('hello')
})
const port = 4444;
app.post('/send', (req, res) => {
console.log('body: ', req.body)
res.status(200).send(req.body)
});
app.listen(port, () => {
console.log('We are live on port 4444');
});
我的 axios 调用
export default class Form extends Component {
constructor(props) {
super(props)
this.state = {
name: 'kaleb',
message: '',
email: '',
number: '',
sent: false
}
}
handleChange = (e) => {
this.setState({
[e.target.name]: e.target.value
})
}
handleSubmit = () => {
axios.post("/send", {name: this.state.name}).then(() => {
console.log(this.state.name)
})
}
解决方案
试试这个在 server.js 中:
app.use(bodyParser.json());
app.use(bodyParser.json({type: 'application/*+json'}));
app.use(bodyParser.urlencoded({extended: false}));//or true whatever you need
axios 调用:
axios({method:'post',url:'/send',data:{name:this.state.name}})
.then(console.log(this.state.name));
推荐阅读
- flutter - Flutter,如何在没有 Twilio SDK 的情况下使用 Twilio 发送消息
- javascript - 在 JavaScript 中将图像和文本链接添加到同一个 html div 容器
- c# - 从一个视图切换到另一个视图时,如何保持用户控件的 Textbox Text 属性的值?
- terminal - 如何更改我的超级终端(从 hyper.is 下载)的主题?
- avr - 使用 Atmega32 读取 AVR 中打开 LED 的按钮状态
- java - FreeMarker 中的时区设置不影响所有日期时间
- python - 处理“TypeError:预期的元组,得到 str”
- java - 关于 HashMap 集合的 keySet() 方法
- reactjs - 如何使用 InferProps 推断组件道具?
- python - 使用 Python 进行财务分析 - 返回值错误