Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我应该用req.body.item从post请求中获取正文?_Javascript_Node.js_Vue.js_Express - Fatal编程技术网

Javascript 我应该用req.body.item从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

我学会了在使用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.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"
    },
})