Javascript 我应该用req.body.item从post请求中获取正文?
我学会了在使用express时如何从post请求中获取身体数据。大多数示例代码表示,Javascript 我应该用req.body.item从post请求中获取正文?,javascript,node.js,vue.js,express,Javascript,Node.js,Vue.js,Express,我学会了在使用express时如何从post请求中获取身体数据。大多数示例代码表示,req.body.item应该能够获得我想要使用的值,例如,将值插入表中 但我无法使用req.body.item获取值,但最终可以使用req.body.body.value获取值。我是否没有以正确的方式获取post body值,或者这不是问题 Node.js v14.15.4 Nuxt.js @ v2.15.4 Vue.js vue@2.6.12 Express ^4.17.1 (expense
req.body.item
应该能够获得我想要使用的值,例如,将值插入表中
但我无法使用req.body.item
获取值,但最终可以使用req.body.body.value
获取值。我是否没有以正确的方式获取post body值,或者这不是问题
Node.js
v14.15.4
Nuxt.js
@ v2.15.4
Vue.js
vue@2.6.12
Express
^4.17.1
(expense.vue),使用正确的代码更新将表单数据发布到“书籍/书籍/添加”
问题在于您的
axios.post
调用。第二个参数是要发送的数据,而不是选项对象。因此,您要发送的是带有标题
属性和正文
属性的数据。(看起来您已经习惯于使用fetch
)选项是第三个参数
如果需要给出标题,则如下所示:
axios.post("books/books/add", formData, {
headers: {
"Content-Type": "application/json"
},
})
// ...
…但您没有,默认情况下,axios
将字符串化对象并发送适当的头,因此:
axios.post("books/books/add", formData)
// ...
您还应该在
之后有一个.catch
。然后
来处理错误,因为您没有从返回承诺。然后
axios.post的第二个参数不是选项对象。请参阅其他答案。默认情况下,axios将对对象进行字符串化并设置标题,因此标题是不必要的。这将起作用,但包括对更改内容和原因的解释以及相关文档的链接会有所帮助。看,谢谢你的回答!现在它工作正常了。我甚至可以删除标题
@克劳德:谢谢你的回答。我刚刚编辑了我的代码,它正在工作!
axios.post("books/books/add", formData, {
headers: {
"Content-Type": "application/json"
},
})
axios.post("books/books/add", formData)
// ...
axios.post("books/books/add", formData, {
headers: {
"Content-Type": "application/json"
},
})