-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclient.js
32 lines (30 loc) · 862 Bytes
/
client.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
const chatEl = document.getElementById("chat");
const formEl = document.getElementById("messageForm");
const ws = new WebSocket("ws://127.0.0.1:8000");
ws.onmessage = (message) => {
console.log(JSON.parse(message.data));
const messages = JSON.parse(message.data);
messages.forEach((value) => {
const messageEl = document.createElement("div");
messageEl.appendChild(document.createTextNode(`${value.name}: ${value.message}`));
chatEl.appendChild(messageEl);
});
};
ws.onopen = ()=>{
console.log('ws open')
}
ws.onclose = () => {
console.log('ws close')
};
const send = (event) => {
event.preventDefault();
const name = document.getElementById("name").value;
const message = document.getElementById("message").value;
ws.send(
JSON.stringify({
name,
message,
})
);
};
formEl.addEventListener("submit", send);