Javascript 为什么我会收到一封“信”;Posts验证失败”;向API发送帖子时出错?
我有一个表单,我希望能够将它的内容发布到我在后端连接的MongoDB服务器上,但是当我发布时,我得到错误“Posts validation failed:POST:Cast to string failed for value”{}“path”POST“我不知道为什么。我刚从react开始,所以如果解决方案简单,请原谅我 这是我的表格页:Javascript 为什么我会收到一封“信”;Posts验证失败”;向API发送帖子时出错?,javascript,reactjs,mongodb,express,Javascript,Reactjs,Mongodb,Express,我有一个表单,我希望能够将它的内容发布到我在后端连接的MongoDB服务器上,但是当我发布时,我得到错误“Posts validation failed:POST:Cast to string failed for value”{}“path”POST“我不知道为什么。我刚从react开始,所以如果解决方案简单,请原谅我 这是我的表格页: import React from 'react'; import axios from 'axios'; export default class Pos
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 mongoose = require('mongoose');
const PostSchema = mongoose.Schema({
post: {
type: String,
required: true
},
date: {
type: Date,
default: Date.now
}
})
module.exports = mongoose.model('Posts', PostSchema)
将
{post}
替换为post
,
{post}
将给出
{
post: {
post: this.state.name
}
}
预期可能是
{
post: this.state.name
}
我用它替换了它,但得到了错误“Posts验证失败:post:Path
post
is required”。当我使用postman时,我可以正确地将post发送到我的db,因此我认为它正确地接收了它。抱歉,如果我没有回答您的问题,因为您打算签出浏览器上的“网络”选项卡,它的位置是什么数据这里是2个位置。当我点击它时,第一个显示加载响应数据失败。第二条是“message:{errors:{post:{name:{ValidatorError”,message:“Pathpost
是必需的。”,…},…},…},…}}}}它的响应,检查您的请求体我不知道这是否是问题的根源,但您需要向axios post请求传递一个配置选项,如axios.post(url、数据、配置)
其中config可以定义为let config={headers:{“Content Type”:“application/json”}
。我刚刚添加了这个,但我的问题仍然存在。谢谢@BlackMath
{
post: this.state.name
}