我正在使用基本POST请求发送表单数据:
const formData = new FormData();
formData.append('id', '123');
const res = await fetch('./handler', { method: 'POST', body: formData });
const json = await res.json();
handler.js
export default async function handler(req, res) {
console.log(req.body.id);
...
}
上面的代码将记录undefined
。当记录req.body
时,结果肯定需要解码:
------WebKitFormBoundary
Content-Disposition: form-data; name="id"
123
------WebKitFormBoundary --
如何读取传递的数据?
3条答案
按热度按时间moiiocjp1#
尝试使用formidable
在handler.js中
wi3ka0sx2#
下午好,
您可以尝试查看一下this post并了解如何解码
formdata
。但是如果你打算在浏览器中运行这段代码,导入库会很麻烦,如果API能够用JSON响应,那么我建议你用JS来处理,不会太麻烦。
您可以尝试通过添加
Accept
头来请求JSON格式的数据:您也可以只发送JSON()
dffbzjpn3#
我相信您可以使用
req.body.id
来获得'123'的结果。Fetch将表单数据视为JSON IIRC。