如何使用 API 路由创建表单
表单使您能够在 Web 应用程序中创建和更新数据。Next.js 提供了一种强大的方式,使用 API 路由 (API Routes) 来处理数据变更。本指南将带您了解如何在服务器端处理表单提交。
服务端表单
要处理服务端的表单提交,需要创建一个 API 端点来安全地变更数据。
然后,通过事件处理程序从客户端调用该 API 路由:
须知:
- API 路由 默认不指定 CORS 头信息,这意味着它们默认仅允许同源请求。
- 由于 API 路由在服务器端运行,我们可以通过 环境变量 使用敏感值(如 API 密钥)而不会暴露给客户端。这对应用程序的安全性至关重要。
表单验证
我们建议使用 HTML 验证如 required
和 type="email"
进行基本的客户端表单验证。
对于更高级的服务端验证,您可以使用模式验证库如 zod 在变更数据前验证表单字段:
错误处理
您可以使用 React 状态在表单提交失败时显示错误消息:
显示加载状态
您可以使用 React 状态在服务器提交表单时显示加载状态:
重定向
如果您想在数据变更后将用户重定向到不同路由,可以 redirect
到任何绝对或相对 URL: