gpt4 book ai didi

javascript - req.body 不适用于快速路由器发布请求

转载 作者:行者123 更新时间:2023-11-30 19:22:06 25 4
gpt4 key购买 nike

发布来自 React 前端的请求。但是,当我尝试在快速路由器下设置的发布请求中访问 req.body 时,它简单地记录为 [object Object]。非常感谢初学者程序员的任何帮助!!

我正在尝试学习如何在 express.js 应用程序中模块化我的路由,但我无法在 POST 请求中访问 req.body。我花了几个小时试图找到一个没有成功的解决方案。

我 100% 安装了 body-parser。

我的 server.js 文件:

const express = require('express');
const app = express();
const router = express.Router();
const PORT = process.env.PORT || 4000;

const cors = require('cors');
const bcrypt = require('bcryptjs');
const passport = require('passport');
const bodyParser = require('body-parser')

app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json()); //And so on.
app.use(cors());


// ROUTES - Require Routes defined in directory
const productsRoutes = require('./routes/products')

// ROUTES - use routes defined in directory
app.use('/products', productsRoutes);


app.listen(PORT, () => {
console.log(`listening on PORT ${PORT}`);
})

路线/产品页面:

const express = require('express');
const router = express.Router();
// const bodyParser = require('body-parser')

router.get('/', ( req, res ) => {
res.status(200).json({message: 'Connected to the products!' });
})

router.post('/', ( req, res ) => {
console.log(`req.body ${req.body}`);
res.status(200).json({message: 'Connected products products!' });
})

module.exports = router;

REACT 前端:

  componentDidMount(){

axios.post('http://localhost:4000/products', {
headers: {searchText: this.state.searchText}
})
.then( res => {
console.log('GOT PRODUCTS', res.data);
this.setState({ products: res.data})
})
.then(json => {
this.setState({ loading: true });
setTimeout(() => {
this.setState({ done: true });
}, 1000);
});
}, 1200);
}

如果有人知道如何在 router.post('/---') 请求中访问 req.body,我将不胜感激

最佳答案

it simple logs as [object Object] ...

如果您尝试将一个对象连接到一个字符串,就会发生这种情况:

   console.log("you see: " + {});

那是因为 {}.toString() 返回字符串 "[Object object]"。但这并不是很有用。相反,您可以判断将对象本身传递console.log,这样它会显示得更优雅:

  console.log("result :", { it: "works" });

(如果您连接调试器,您甚至可以与其交互)

关于javascript - req.body 不适用于快速路由器发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57336098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com