我很难发出一个post请求,因为我的代码在我的Next.js应用程序的服务器端没有解析任何body
。我觉得我把服务器端API搞错了。
我使用Next.js 13的Route Handers和app
目录。这是我的客户端代码的样子:
const redirectToCheckout = async () => {
const response = await fetch("/api/stripe", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ email: change }),
}).then((res) => res.json());
console.log(response);
};
字符串
服务器端看起来像这样:
import { NextRequest, NextResponse } from "next/server";
import Stripe from "stripe";
const stripe = new Stripe(process.env.STRIPE_SECRETE_KEY);
export async function POST() {
const customer = await stripe.customers.create({
email: NextRequest.body,
});
return NextResponse.json({ customer });
}
型
1条答案
按热度按时间jum4pzuy1#
当你从客户端发送JSON时,你需要解析请求正文,并获取Stripe调用所需的数据:
字符串
注意
request
是由Next.js作为参数传递给您的。不需要进口任何东西。