AJAX
AJAX (Asynchronous Javascript And XML) — технология обращения к серверу без перезагрузки страницы.
Уменьшение времени отклика, создание интерактивных веб-интерфейсов.
Формат пересылаемых данных
- JSON — простой и «легкий» формат, хорошо подходит для обработки в JavaScript
- XML — универсальный язык разметки документов
- HTML/текст
- двоичные данные
Реализация AJAX
XMLHttpRequest — объект JavaScript, предоставляющий API для реализации AJAX
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://localhost/ajax.php', false);
xhr.send();
if (xhr.status == 200) {
alert( xhr.responseText );
} else {
alert( 'Ошибка ' + xhr.status + ' - ' + xhr.statusText );
}
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://localhost/ajax.php', true);
xhr.send();
xhr.onreadystatechange = function() {
if (this.readyState != 4) return;
if (this.status != 200) {
alert( 'Ошибка ' + this.status + ' - ' + this.statusText );
return;
}
alert( xhr.responseText );
}
Подробнее — http://learn.javascript.ru/ajax-intro
WebSocket
Режим двусторонней связи между браузером и веб-сервером в режиме реального времени.
Технология (кратко):
1. Клиент (браузер) обращается к серверу, устанавливает долговременное WebSocket-соединение
2. Сервер по своей инициативе по установленному соединению может отправлять клиенту сообщения
3. Клиент, получая сообщение, обрабатывает его по событию
Где применяется — всплывающие сообщения в социальных сетях, системы мгновенных сообщений, совместное редактирование документов и др.
Node.js
Node.js — программная платформа, позволяющая создавать гибридные веб-приложения полностью на JavaScript.
Node.js не требует специального программного обеспечения веб-сервера. Эту роль выполняют сами приложения Node.js.
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {
'Content-Type': 'text/plain; charset=UTF-8'
});
res.end('Hello world!');
});
server.listen(8000, 'localhost');
Подробнее — http://learn.javascript.ru/nodejs-screencast












Алексей Н. Сергеев