API 라우트를 사용하여 양식 작성
HTML 양식을 사용하면 브라우저가 페이지를 새로 고치거나 새 페이지로 이동합니다. 대신 양식 데이터를 API 엔드포인트로 보내려면 JavaScript를 사용하여 양식 제출을 가로채야 합니다.
이 레시피는 양식 데이터를 API 엔드포인트로 보내고 해당 데이터를 처리하는 방법을 보여줍니다.
전제 조건
섹션 제목: 전제 조건- 요청 시 렌더링을 위한 어댑터를 사용하는 프로젝트가 필요합니다.
- 설치된 UI 프레임워크 통합이 필요합니다.
레시피
섹션 제목: 레시피-
양식 데이터를 수신할
/api/feedback
에POST
API 엔드포인트를 생성합니다. 처리하려면request.formData()
를 사용하세요. 사용하기 전에 양식 값의 유효성을 검사하세요.이 예시에서는 메시지와 함께 JSON 객체를 클라이언트에 다시 보냅니다.
-
UI 프레임워크를 사용하여 양식 컴포넌트를 만듭니다. 각 입력에는 해당 입력의 값을 설명하는
name
속성이 있어야 합니다.양식을 제출하려면
<button>
또는<input type="submit">
요소를 포함해야 합니다. -
제출 이벤트를 받아들이는 함수를 만든 다음 이를
submit
핸들러로 양식에 전달합니다.함수에서는 다음을 수행합니다.
- 이벤트에서
preventDefault()
를 호출하여 브라우저의 기본 제출 프로세스를 재정의합니다. FormData
객체를 생성하고fetch()
를 사용하여POST
요청으로 엔드포인트에 보냅니다.
- 이벤트에서
-
<FeedbackForm />
컴포넌트를 가져와 페이지에 포함합니다. 양식 로직이 원할 때 수화되도록 하려면client:*
지시어를 사용하세요.