【发布时间】:2020-10-15 13:25:43
【问题描述】:
我正在尝试将 React Js 中的帖子数据提交到 Express,但没有数据传递给 body。
来自 React 的 App.js
function submitForm(){
axios({
url: 'http://localhost:9000/api/submit-student',
method: 'POST',
body: {name: 'John Doe'}
})
.then(() => {
console.log('Data has been saved.')
})
.catch(() => {
console.log('Internal server error')
})
}
api.js
const express = require("express");
const router = express.Router();
router.post("/submit-student", function (req, res) {
res.send(req.body)
console.log(res)
});
module.exports = router;
我在body 中设置了一个测试数据,它将传递给读取端口9000 的api.js。提交很好。唯一的问题是,req.body 返回一个空的 json 数组 {}。它读取 Data has been saved. 消息,但 console.log(res) 在正文部分显示空数组。
提交时没有出现错误。我什至尝试过邮递员,它可以检索帖子数据。
编辑
我的server.js 文件中包含bodyParser。
const express = require("express");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const cors = require("cors");
const app = express();
app.use(cors())
app.use(
bodyParser.urlencoded({
extended: false
})
);
app.use(bodyParser.json());
const port = process.env.PORT || 9000;
const routes = require("./routes/api");
mongoose.connect("mongodb-url-here", {
useNewUrlParser: true
})
mongoose.connection.on('connected', ()=>{
console.log('Mongoose is connected!');
})
app.use('/api', routes);
app.listen(port, () => console.log(`Server up and running on port ${port} !`));
【问题讨论】:
标签: node.js reactjs express axios