我无法从nexjs13中的路由处理程序读取请求体。这是我的按钮组件
'use client'
export default function Button() {
const handleClick = () => {
const requestOptions = {
method: "POST",
body: JSON.parse('{"hello":"world"}'),
headers: { "content-type": "application/json"}
}
fetch("/api/create", requestOptions)
.then((res)=>res.json())
.then((data)=>console.log(data))
.catch((err)=>console.log(err))
}
return (
<button onClick={handleClick}>click</button>
)
}
这是我的路由处理程序
import { NextResponse } from 'next/server';
export async function POST(request) {
console.log(JSON.stringify(request))
console.log(JSON.stringify(request.body))
console.log(await request.json())
return NextResponse.json({ "test": "123" });
}
我希望发送的正文{"hello": "world"}
被记录在控制台中。
这是控制台console output中记录的内容
1条答案
按热度按时间hjzp0vay1#
你的代码中有两个问题
您的整个代码应类似于
按钮组件
route.js