<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Express.js Routes Example</title>
</head>
<body>
<h1>Express.js Routes Example</h1>
<h2>Get All Users</h2>
<button id="getAllUsers">Get All Users</button>
<pre id="allUsersResult"></pre>
<h2>Get User by ID</h2>
<form id="getUserForm">
<input type="number" id="userId" required>
<button type="submit">Get User</button>
</form>
<pre id="userResult"></pre>
<h2>Add New User</h2>
<form id="addUserForm">
<input type="text" id="userName" required>
<button type="submit">Add User</button>
</form>
<pre id="newUserResult"></pre>
<script>
document.getElementById('getAllUsers').addEventListener('click', async () => {
const response = await fetch('/api/users');
const users = await response.json();
document.getElementById('allUsersResult').textContent = JSON.stringify(users, null, 2);
});
document.getElementById('getUserForm').addEventListener('submit', async (e) => {
e.preventDefault();
const id = document.getElementById('userId').value;
const response = await fetch(`/api/users/${id}`);
const user = await response.json();
document.getElementById('userResult').textContent = JSON.stringify(user, null, 2);
});
document.getElementById('addUserForm').addEventListener('submit', async (e) => {
e.preventDefault();
const name = document.getElementById('userName').value;
const response = await fetch('/api/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ name }),
});
const newUser = await response.json();
document.getElementById('newUserResult').textContent = JSON.stringify(newUser, null, 2);
});
</script>
</body>
</html>