File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ <!DOCTYPE html>
2+ < html lang ="en ">
3+ < head >
4+ < meta charset ="UTF-8 " />
5+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 " />
6+ < title > Create User</ title >
7+ </ head >
8+ < body >
9+ < h1 > Create New User</ h1 >
10+
11+ < form id ="userForm ">
12+ < label for ="name "> Name:</ label > < br />
13+ < input type ="text " id ="name " required /> < br /> < br />
14+
15+ < label for ="email "> Email:</ label > < br />
16+ < input type ="email " id ="email " required /> < br /> < br />
17+
18+ < button type ="submit "> Create User</ button >
19+ </ form >
20+
21+ < p id ="responseMessage "> </ p >
22+
23+ < script >
24+ const form = document . getElementById ( "userForm" ) ;
25+ const responseMessage = document . getElementById ( "responseMessage" ) ;
26+
27+ form . addEventListener ( "submit" , async ( e ) => {
28+ e . preventDefault ( ) ;
29+
30+ const name = document . getElementById ( "name" ) . value ;
31+ const email = document . getElementById ( "email" ) . value ;
32+
33+ try {
34+ const response = await fetch ( "http://localhost:3000/users" , {
35+ method : "POST" ,
36+ headers : {
37+ "Content-Type" : "application/json" ,
38+ } ,
39+ body : JSON . stringify ( { name, email } ) ,
40+ } ) ;
41+
42+ const data = await response . json ( ) ;
43+
44+ if ( response . ok ) {
45+ responseMessage . textContent = "✅ User created: " + data . name ;
46+ form . reset ( ) ;
47+ } else {
48+ responseMessage . textContent = "❌ Error: " + data . error ;
49+ }
50+ } catch ( err ) {
51+ responseMessage . textContent = "❌ Network error." ;
52+ }
53+ } ) ;
54+ </ script >
55+ </ body >
56+ </ html >
You can’t perform that action at this time.
0 commit comments