使用 API 路由构建表单
一个 HTML 表单会导致浏览器刷新页面或跳转到新页面。为了将表单数据发送到 API 端点,就必须要使用 JavaScript 拦截提交的表单。
本节示例向你展示了如何发送表单数据到一个 API 端点,并处理这些数据。
前期准备
段落标题 前期准备操作步骤
段落标题 操作步骤-
在
/api/feedback
上创建一个POST
API 端点,用于接收表单数据。然后使用request.formData()
处理表单数据。但在你使用表单值之前,请确保对其进行必要的校验。在这个示例中会向客户端发送一个包含响应消息的 JSON 对象。
-
使用你的 UI 框架创建一个表单组件。每个输入字段都应该有一个描述该输入值的
name
属性。请确保表单中包含一个
<button>
或<input type="submit">
元素,用于提交表单。 -
创建一个函数以接受提交事件(submit event),然后将其作为
submit
事件处理器传递给你的表单。在函数中:
- 调用事件的
preventDefault()
方法,以覆盖浏览器的默认提交过程。 - 创建一个
FormData
对象,并使用fetch
将其以POST
请求发送到你的端点。
- 调用事件的
-
在一个页面中导入并包含你的
<FeedbackForm />
组件。请确认使用了client:*
指令以确保表单逻辑能在你需要的时候被激活。