/
eb
/
nodejs-screencast
Обзор
Документация
Войти
/
eb
/
nodejs-screencast
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
long-poll-chat/index.html
59 строк
1 KB
Ilya Kantor
long-poll fix for: IE8, cached response
08 сен 2013, 21:10
08 сен 2013, 21:10
df63a15
Код
Авторство
О чём код?
<!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">Добро пожаловать в чат!</p> <form id="publish" class="form-inline"> <input type="text" name="message"/> <input type="submit" class="btn btn-primary" value="Отправить"/> </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 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'); li.appendChild(document.createTextNode(this.responseText)); messages.appendChild(li); subscribe(); }; xhr.send(null); } </script> </body> </html>