-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
47 lines (42 loc) · 1.13 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
let form = document.querySelector("form");
let username = form.username;
let highscore = form.highscore;
const div = document.querySelector("div");
form.addEventListener("submit", (e) => {
e.preventDefault();
let userName = username.value;
let highScore = highscore.value;
postUserToBackEnd(userName, highScore);
});
const fetchAllUsers = () =>
fetch("http://localhost:3000/users")
.then((res) => res.json())
.then((users) => {
console.log(users);
users.forEach((element) => {
addUserToPage(element);
});
});
const addUserToPage = (user) => {
let h2 = document.createElement("h2");
h2.textContent = `user_name: ${user["user_name"]}, score: ${user["high_score"]}`;
div.append(h2);
};
const postUserToBackEnd = (userName, highScore) => {
fetch("http://localhost:3000/users", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
user_name: `${userName}`,
high_score: `${highScore}`,
}),
})
.then((res) => res.json())
.then((user) => {
div.innerHTML = "";
fetchAllUsers();
});
};
fetchAllUsers();