本文介绍了如何在NextJS中读取FormData的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想读一下Fetch的身体。以下是我发送的内容:
fetch('/api/foo', {
method: 'POST',
body: new FormData(formRef.current),
});
现在我只需要解析正文。但我不知道该怎么做。我不能在服务器端使用FormData
,因为它显示ReferenceError: FormData is not defined
。而且我也不能在客户端使用forEach
Like。
我应该做什么?
export default function sendMail(req: NextApiRequest, res: NextApiResponse): void {
// console.log(req.body instanceof FormData);
// req.body.forEach(console.log);
console.log(req.body['name']);
res.status(200).json({});
}
推荐答案
您可以使用Foradable。
npm install formidable
然后在您的代码中使用
import { NextApiRequest, NextApiResponse } from 'next'
import formidable from 'formidable'
//set bodyparser
export const config = {
api: {
bodyParser: false
}
}
export default async (req: NextApiRequest, res: NextApiResponse) => {
const data = await new Promise((resolve, reject) => {
const form = new formidable()
form.parse(req, (err, fields, files) => {
if (err) reject({ err })
resolve({ err, fields, files })
})
})
//return the data back or just do whatever you want with it
res.status(200).json({
status: 'ok',
data
})
}
这篇关于如何在NextJS中读取FormData的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!