Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

// Функция обработки ответа после начала его получения

request.on("response", function(response) {

// Указать кодировку, чтобы тело возвращалось как строка, а не байты

response.setEncoding("utf8");

// Для сохранения тела ответа по мере получения

var body =
response.on("data", function(chunk) { body += chunk; });

// По окончании тела ответа вызвать функцию обратного вызова

response.on("end", function { if (callback)

callback(response.statusCode, response.headers, body);

));

});

};

// Простой HTTP POST-запрос с данными в теле запроса

exports.post = function(url, data, callback) {

// Разобрать URL и получить необходимые фрагменты

url = requiге('url').parse(url);

var hostname = url.hostname, port = url.port || 80;

var path = url.pathname, query = url.query;

if (query) path += "?" + query;

// Определить тип данных, отправляемых в теле запроса var type;

if (data == null) data = "";

if (data instanceof Buffer) // Двоичные данные

type = "application/octet-stream";

else if (typeof data === "string”) // Строковые данные

type = "text/plain; charset=UTF-8";

else if (typeof data === "object") { // Пары имя/значение

data = require("querystring").stringify(data);

type = "application/x-www-form-urlencoded";

}

// Выполнить POST-запрос и отправить тело запроса

var client = require("http").createClient(port, hostname);

var request = client.request("POST", path, {

"Host": hostname,

"Content-Type": type

}):

request.write(data); // Отправить тело запроса

request.end;

request.on("response", function(response) { // Обработать ответ

response.setEncoding("utf8"); // Предполагается текст

var body = "" // Для хранения тела ответа

response.on("data", function(chunk) { body += chunk; });

response.on("end", function { // По завершении вызвать обработчик

if (callback)

callback(response.statusCode, response.headers, body);

});

});

II

Клиентский JavaScript

В данной части книги в главах с 13 по 22 язык JavaScript описан в том виде, в котором он реализован в веб-броузерах. В этих главах вводится много новых JavaScript-объектов, представляющих окна, документы и содержимое документов в веб-броузерах. В них также описываются важные прикладные интерфейсы для организации сетевых взаимодействий, сохранения и извлечения данных и рисования графических изображений в веб-приложениях.

• Глава 13 «JavaScript в веб-броузерах»

• Глава 14 «Объект Window»

• Глава 15 «Работа с документами»

• Глава 16 «Каскадные таблицы стилей»

• Глава 17 «Обработка событий»

• Глава 18 «Работа с протоколом HTTP»

• Глава 19 «Библиотека jQuery»

• Глава 20 «Сохранение данных на стороне клиента»

• Глава 21 «Работа с графикой и медиафайлами на стороне клиента»

• Глава 22 «Прикладные интерфейсы HTML5»

13 JavaScript в веб-броузерах

Первая часть этой книги была посвящена базовому языку JavaScript. Теперь мы перейдем к тому языку JavaScript, который используется в веб-броузерах и обычно называется клиентским JavaScript (client-side JavaScript). Большинство примеров, которые мы видели до сих пор, будучи корректным JavaScript-кодом, не зависели от какого-либо контекста; это были JavaScript-фрагменты, не ориентированные на запуск в какой-либо определенной среде. Эта глава описывает такой контекст.

До обсуждения JavaScript давайте поближе познакомимся с веб-страницами, отображаемыми в веб-броузерах. Некоторые страницы представляют статическую информацию; их можно называть документами. (Представление такой статической информации может быть дополнено динамическим поведением с помощью JavaScript, но сама по себе информация остается статической.) Другие страницы больше похожи на приложения, чем на документы. Эти страницы способны динамически загружать новую информацию по мере необходимости, они могут состоять преимущественно из графических изображений, могут действовать без подключения к серверу, сохранять данные локально и, как следствие, способны восстанавливать свое состояние при повторном посещении. Имеются также вебстраницы, которые занимают промежуточное положение и объединяют в себе особенности документов и приложений.

Поделиться:
Популярные книги

Туполев

Бодрихин Николай Георгиевич
1327. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Туполев

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Камень. Книга пятая

Минин Станислав
5. Камень
Фантастика:
боевая фантастика
6.43
рейтинг книги
Камень. Книга пятая

Личный аптекарь императора. Том 5

Карелин Сергей Витальевич
5. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
7.50
рейтинг книги
Личный аптекарь императора. Том 5

Двойник короля 18

Скабер Артемий
18. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 18

Локки 10. Потомок бога

Решетов Евгений Валерьевич
10. Локки
Фантастика:
фэнтези
юмористическое фэнтези
героическая фантастика
боевая фантастика
5.00
рейтинг книги
Локки 10. Потомок бога

Последний Паладин. Том 7

Саваровский Роман
7. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 7

Господин из завтра. Тетралогия.

Махров Алексей
Фантастика:
альтернативная история
8.32
рейтинг книги
Господин из завтра. Тетралогия.

Газлайтер. Том 16

Володин Григорий Григорьевич
16. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 16

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Обрыв

Гончаров Иван Александрович
Проза:
классическая проза
русская классическая проза
8.93
рейтинг книги
Обрыв

An ordinary sex life

Астердис
Любовные романы:
современные любовные романы
love action
5.00
рейтинг книги
An ordinary sex life

Я граф. Книга XII

Дрейк Сириус
12. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я граф. Книга XII

Кодекс Крови. Книга Х

Борзых М.
10. РОС: Кодекс Крови
Фантастика:
фэнтези
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга Х