Народ, я не очень понял, как эта книга помогает новичкам: Пролистал 37 страниц, в которых говорилось о прелестях частично подгружаемых данных. И только на 38 увидел код, оформленный не средствами семантики, а пометками на полях вместо нормальных комментарий.
Когда возникла проблема применения этой технологии, то наткнулся на пару статей, которые описали все двумя параграфами, один из которых составлял код вроде этого (этот код мой - кусок функции):
Код:
// условие: если есть объект XMLHttpRequest то создаем его для оперы или мозилы иначе ActiveX для ослика
var NewText = window.XMLHttpRequest? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
// функция - обработчик события: вставляет полученный текст по свойству readyState равному 4 (запрос выполнен)
NewText.onreadystatechange = function() {
if (NewText.readyState == 4) {
document.getElementById('id_куда_вставлять').innerHTML=NewText.responseText; }
}
// сама функция запроса текста с нужной страницы
NewText.open("GET", 'Нужная_страница?параметры', true); NewText.send(null);
Этот код с рабочего проекта: кусок функции, где id_куда_вставлять, нужная_страница и параметры передавались параметрами. А в статье было еще одно предложение (параграф), с описанием разницы этой технологии в Осликах: не работает при максимальной защите (когда отключено активное содержимое). Все. Остальное описывало другие возможности, а тут 38 страниц.
Меня, как программиста, такой подход и оформления кода в этой книге путает - создалось впечатление, что авторы книги курнули лишнего, когда оформляли ее. Скачал примеры к этой книге (ссылка на 20 странице). Вот кусок кода, аналогичного моему:
Код:
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
if (request == null)
alert("Error creating request object!");
}
function getBoardsSold() {
createRequest();
var url = "getUpdatedBoardSales-ajax.php";
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);
}
Зачем разделено на две функции, не понятно. Где обещанная краткость и стандартные комментарии в кодах примеров. Может я консерватор - мне даже схемы запросов в этой книге кажутся не выразительными. Впечатление, что авторы пытались совместить учебник с рекламным буклетом.
Но это лично мое мнение - тут больше положительных ответов.