我有一个表单,我希望能够将其内容发布到我在后端连接的 MongoDB 服务器,但是当我执行 POST 时,我收到错误“帖子验证失败:帖子:值转换为字符串失败”{ }”在路径“post”,我不知道为什么。我刚刚开始反应,所以如果解决方案很简单,请原谅我。这是我的表单页面:import React from 'react';import axios from 'axios';export default class PostList extends React.Component { state = { post: '', } handleChange = event => { this.setState({ post: event.target.value }); } handleSubmit = event => { event.preventDefault(); const post = { post: this.state.name }; axios.post('http://localhost:5000/posts', { post }) .then(res => { console.log(res); console.log(res.data); }) } render() { return ( <div className="flex-container-home"> <div className="app"> <form onSubmit={this.handleSubmit}> <label> Post: <input type="text" name="post" onChange={this.handleChange} /> </label> <button type="submit">Add</button> </form> </div> </div> ) }}这是我的路由器:const express = require("express")const router = express.Router()const Post = require('../models/posts')router.post('/', async (req, res) => { const post = new Post({ post: req.body.post, }); try { const savedPost = await post.save() res.json(savedPost); } catch (err) { res.json({ message: err }); }})module.exports = router;这是我的架构:const mongoose = require('mongoose');const PostSchema = mongoose.Schema({ post: { type: String, required: true }, date: { type: Date, default: Date.now }})module.exports = mongoose.model('Posts', PostSchema)
1 回答

拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
替换{ post }为post, { post }将给出
{
post: {
post: this.state.name
}
}
预计可能是
{
post: this.state.name
}
添加回答
举报
0/150
提交
取消