【发布时间】:2019-03-18 03:01:58
【问题描述】:
当我发布到我的 API 路由以在我的集合中创建文档时出现错误。数据是发布的用户信息也是一个数据库
这是表单提交:
handleFormSubmit = (event) => {
event.preventDefault();
const userId = localStorage.getItem("userId")
const newForm = {
id: userId,
title: this.state.title,
main: this.state.main,
summary: this.state.summary
};
console.log(newForm);
API.addForm(newForm)
.then(response => {
console.log(response)
})
}
// =============== API =========== //
addForm: function(form) {
return axios.post("/api/form", + form);
},
客户端 console.log 打印出正确的对象,其中包含对象中的所有适当值,但是当它到达后端服务器时,POST 正文返回 {NaN: ""} 抛出 UnhandledPromiseRejectionWarning 错误:验证错误和响应失败
这里是后端 API 路由:
// ======== Index.js for API ======= //
router.use("/api",require("./apiRoutes.js")(passport));
// ============== apiRoutes.js ============= //
router.route("/form")
.post(formController.addRecipe);
// ============= Controller ============ //
addForm: function(req, res) {
console.log("addForm Function")
console.log("======================")
console.log(req.body)
db.Form.create(req.body)
.then(form => {
console.log(form)
return db.User.findOneAndUpdate({ _id: req.body.id }, { form: form._id }, { new:true });
})
.then(userInfo => {
res.json(userInfo);
})
}
【问题讨论】:
-
+form应该做什么? -
它是我将 newForm 对象发送到 addForm 路由时的表单参数
-
为什么是
+?有什么具体原因吗? -
不是特指这是我从旧类存储库中提取的一个示例,我可以尝试将其删除,看看是否有效
标签: javascript reactjs post crud api-design