Next.js 错误 405 方法不允许在表单提交(POST)后重定向

OLI*_*IER 7 http-status-code-405 next.js

我向 next.js API 路由提交表单(POST 方法)。我处理正文的内容(存储表单的内容),然后我想重定向到感谢页面。

API 路线如下所示

export default async function handler(req, res) {
    const body = Object.assign({}, req.body)
    
    // ... do stuff
    
    res.redirect(307, "/thank-you")
Run Code Online (Sandbox Code Playgroud)

发生重定向时,我会看到一个错误页面,代码为 405。

OLI*_*IER 15

显然,next.js 会查看传递给重定向函数的状态代码。读完这篇文章后我得到了提示。

因此,解决方案就是更改重定向函数中的状态代码:

res.redirect(302, "/thank-you")
Run Code Online (Sandbox Code Playgroud)