我有一個表單,我希望能夠將其內容發布到我在后端連接的 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)
當我向 API 發送 POST 時,為什么會收到“帖子驗證失敗”錯誤?
阿波羅的戰車
2023-07-14 15:46:45