-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
49 lines (44 loc) · 1.37 KB
/
index.html
File metadata and controls
49 lines (44 loc) · 1.37 KB
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
48
49
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
</head>
<body class="container">
<p class="lead">Welcome to 2Chat!</p>
<form id="publish" class="form-inline">
<input type="text" name="message"/>
<input type="submit" class="btn btn-primary" value="Send"/>
</form>
<ul id="messages"></ul>
<script>
publish.onsubmit = function() {
var xhr = new XMLHttpRequest();
xhr.open("POST", "/publish", true);
xhr.send(JSON.stringify({message: this.elements.message.value}));
this.elements.message.value = '';
return false;
};
subscribe();
function subscribe() {
var text = '';
var xhr = new XMLHttpRequest();
xhr.open("GET", "/subscribe", true);
xhr.onreadystatechange = function() {
if (this.readyState != 4) return;
if (this.status != 200) {
setTimeout(subscribe, 500);
return;
}
var li = document.createElement('li');
text = this.responseText;
console.log(text);
li.appendChild(document.createTextNode(this.responseText));
messages.appendChild(li);
setTimeout(subscribe, 500);
};
xhr.send(null);
}
</script>
</body>
</html>