【发布时间】:2021-11-23 18:59:19
【问题描述】:
如果我从前端 (Nuxt) 向 NodeJs 发送一个数组,我只会收到一个带有对象标签的空数组。这里有什么问题? 我正在使用 express、body-parser、multer
数组示例:
[ { "content": "<p>some content</p>", "asin": "asin-id" }, { "content": "<p>some content</p>", "asin": "asin-id" } ]
Console.log(req.body)
[Object: null prototype] {
postTitle: 'title',
content: '[object Object],[object Object]'
}
exports.createBlogPost = async (req, res) => {
console.log(req.body)
try {
const post = new BlogPost({
postTitle: req.body.postTitle,
content: req.body.content,
mainImage: req.file
})
await post.save()
if(post) {
return res.status(200).json({
success: true,
message: 'Saved blog post successfully',
post: post
})
}
} catch(err) {
console.log(err)
}
}
Nuxt.js
async savePost() {
const data = new FormData()
data.append('postTitle', this.postTitle)
data.append('content', this.array)
data.append('mainImage', this.selectedFile, this.selectedFile.name)
const blogPost = await this.$axios.$post('/api/create-blog-post', data)
if (blogPost.success) {
console.log(blogPost)
}
},
【问题讨论】:
-
你的意思是——“content: '[object Object],[object Object]'”是一个带有object标签的空数组。
-
是的,完全正确。它不是真的空,但它无法使用......
-
stackoverflow.com/questions/10729276/… 我希望您对 console.log 并不完全熟悉。查看链接
-
这不是问题。它也将“空”数组保存在数据库中
-
在进行 axios 调用之前调用 console.log(JSON.stringify(data)) 会得到什么。