邮递员:语法错误:JSON.parse 的位置 1 处出现意外的 JSON 数字

问题描述 投票:0回答:2

我是 Web 开发的初学者,我正在尝试使用 Postman 向我的应用程序的 API 之一发送 POST 请求。 我正在使用 Next.JS 框架来构建我的网站。

这是我的API:

import type { NextApiRequest, NextApiResponse } from "next"

export default async (
    req: NextApiRequest,
    res: NextApiResponse,
) => {

    const userData = JSON.parse(req.body)
    res.status(200).json(userData)
}

我简化了我的 API,直到发现错误,我相信它与

JSON.parse(req.body)
行有关。

This is a print of the data that I used to test the API on Postman

我收到以下错误:

SyntaxError: Unexpected number in JSON at position 1
at JSON.parse (\u003canonymous\u003e)
at __WEBPACK_DEFAULT_EXPORT__ (webpack-internal:///(api)/./pages/api/login.ts:9:27)

以前,我使用此 API 来验证用户身份,一切正常,除了当我尝试将数据插入 Postman POST 请求正文时。

有人可以帮助我吗?我不知道该怎么办。

json rest next.js syntax-error
2个回答
0
投票

如果您想从 POST 请求反序列化正文,则还必须发送正文包含任何数据的请求,否则,

req.body
将是
null
,并且这不是有效的 json。


0
投票

我在通过路由器处理程序(应用程序路由器)添加 FormData 时遇到了同样的问题

如果您遇到类似问题,请注意 NextRequest 对象,您可以调用

req.formData()
返回表单数据,无需解析。

使用此方法也不需要发送

multipart/form-data
标头。

© www.soinside.com 2019 - 2024. All rights reserved.