Jquery метод .ajaxcomplete()
Содержание:
- Как мы настроили датчики Ajax
- AJAX в действии[править]
- Делаем запрос POST с помощью метода $.post()
- jQuery $.post() Method
- JS Учебник
- Защита: используем nonce и проверяем права
- Запрос HTML-файла и обработка ответа
- Загрузка разметки на страницу с помощью метода load()
- Примеры
- Синхронный запрос
- История
- XMLHttpRequest API и его возможности
- Заключение
- Заключение
Как мы настроили датчики Ajax
Хаб работает от розетки, но имеет встроенный аккумулятор на случай отключения электричества.
Для подключения и настройки системы Ajax нужно скачать специальное бесплатное приложение из App Store.
После регистрации нужно добавить к учетной записи центральный хаб, к которому впоследствии будут подключены все остальные датчики.
Чтобы зарегистрировать Ajax Hub 2 в приложении на смартфоне, нужно отсканировать QR-код. Этот код прячется под крышкой SmartBracket, которая оснащена защитой от несанкционированного вскрытия. То есть, если открыть заднюю крышку, то на смартфон придет соответствующее уведомление, мол, кто-то трогает устройство.
При этом, угнать хаб не получится, так как он уже привязан к другому аккаунту.
Если у вас большой дом и не хочется самому высчитывать количество необходимый устройств, можно обратиться за установкой к профессиональному инсталлятору (их список доступен на сайте и в приложении).
Все датчики обмениваются информацией с Hub 2 по защищённому каналу, а сам хаб подключается к интернету с помощью Ethernet-кабеля, или 2-х SIM-карт, которые выступают как резервные каналы связи на случай пропажи интернета дома.
Важно, что даже в случае полного обрыва связи и питания система продолжает функционировать полностью автономно и выполнять запланированные сценарии. Уведомления об отключении питания и потере связи также приходят пользователям и на пульт охранной компании
Итак, у нас есть новый датчик движения с фотокамерой для подтверждения тревог MotionCam. Крепится к любой вертикальной поверхности шурупами или двухсторонним скотчем, который есть в комплекте.
Мы использовали скотч, но только потому, что датчики нужно вернуть. Если делать на совесть – лучше, конечно, шурупы. А скотч следует использовать только для примерки: дело в том, что скотч со временем пересыхает и датчик может упасть.

После регистрации датчика он просто висит на стене, никак не выдавая своей работы. Не издает звуки, и моргает ярким светом только в случае тревоги.
Стоит кому-то попасть в поле зрения – датчик без лишнего шума делает серию снимков, которые моментально улетают на смартфон владельца системы, где бы он ни находился.
Опять же, можно включить этот датчик в сценарий, при котором как только снимки будут сделаны, автоматически закроются замки на дверях, опустятся рольставни и комнату заполнит дым из дым-машины.
В настройках датчика в приложении можно выбрать разрешение снимков из трёх вариантов: 160х120, 320х240 и 640х480 точек
Важно понимать, что чем меньше разрешение, тем быстрее фотография дойдёт до вас
Там же, в настройках, можно выставить количество снимков, которое будет делать датчик при срабатывании. От варианта «вообще не делать фото», до серии из 5-ти снимков.
Полученные фото можно сохранить на смартфон в виде снимков, или склеенные в короткое видео или анимацию.
AJAX в действии[править]
Действие AJAX легче всего показать на портальном сценарии: просмотр сообщений электронной почты. Большинство веб-порталов позволяют пользователям предварительно просматривать содержимое почтового ящика с основной страницы. Однако, чтобы просмотреть содержимое сообщения, необходимо отдельно щелкнуть на каждом сообщении, при этом страница должна обновляться каждый раз. На этом примере можно увидеть возможность осуществления более богатого поведения, подобно аналогичному в Outlook Express и Mozilla Thunderbird, при этом задействовав существующие веб-технологии AJAX.
На основе этого строится портлет, предоставляющий не только доступ к списку недавних сообщений, но также обеспечивающий предварительный просмотр самих сообщений -всех из главной страницы без необходимости их обновления.
Чтобы получить доступ к содержимому сообщения, нужен серверный компонент, предоставляющий доступ к сообщениям. В нашем примере есть простой сервлет в качестве имитатора, который показывает сообщения через запятую в следующем формате: от кого, тема, дата и тело сообщения:
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
if ("1".equals(req.getParameter("message_id"))) {
resp.getWriter().println( "John Doe,Greetings,10 10-2005,Hi.I am doing good" ) ;
} else if ("2".equals(req.getParameter("message_id"))) {
resp.getWriter().println( "Joanna Doe,Hi,10-10-2005,Document is complete." );
} else if ("3".equals(req.getParameter("message_id"))) {
resp.getWriter().println("Joanna Doe,Hi,10-10-2005,Meeting is at 3.");
...
} else {
resp.getWriter().println( "NA,NA,NA,Nothing to display" );
} //end else
} //end service
Следующий пример на С# для ASP.NET
Функционально он аналогичен сервлету и приводим мы его лишь для того,
чтобы убедить читателей, что для работы с AJAX не важно на каком языке написана ваша серверная часть.
public class service System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
if (Request.Params"message_id" != null)
{
switch (Request.Params"message_id"])
{
case "1"
Response.Write("John Doe,Greetings,10-10-2005,Hi.I am doing good");
break;
case "2"
Response.Write("Joanna Doe,Hi,10-10-2005,Document is complete.");
break;
case "3"
Response.Write("Joanna Doe,Hi,10-10-2005,Meeting is at 3.");
break;
}
}
else
{
Response.Write(",NA ,NA ,NA ,Nothing to display");
}
}
.....
}
В портале будет находиться окошко/портлет портала по просмотру почты с упрощенным списком входящих сообщений слева и панелью просмотра справа. Если щелкнуть мышью на сообщении слева, то на панели просмотра будет виден запрос к серверу и вывод текста сообщения на экран в реальном времени, в этом процессе задействован AJAX.
Делаем запрос POST с помощью метода $.post()
В то время как метод позволяет делать запросы AJAX с помощью метода HTTP GET, метод реализует запросы с помощью метода HTTP POST. Синтаксис вызова аналогичен методу .
Например, изменим нашу демонстрацию с передачей прогноза погоды из предыдущего урока на использование метода :
$.post( "getForecast.txt", data, success, "json" );
Пробуем запустить демонстрацию и получаем такое же окно, как и в предыдущем уроке.
Метод HTTP POST обычно используется для отправки данных формы. Причина заключается в том, что позволяет отправлять небольшие объемы данных (обычно несколько сот символов), а метод POST может пересылать столько данных, сколько вам нужно. Поэтому, если требуется переслать большой объем данных в запросе AJAX, используйте метод .
jQuery $.post() Method
The method requests data from the server using an HTTP POST request.
Syntax:
$.post(URL,data,callback);
The required URL parameter specifies the URL you wish to request.
The optional data parameter specifies some data to send along with the
request.
The optional callback parameter is the name of a function to be executed
if the request succeeds.
The following example uses the method to send some data along with the
request:
Example
$(«button»).click(function(){
$.post(«demo_test_post.asp»,
{
name: «Donald Duck»,
city: «Duckburg»
},
function(data, status){
alert(«Data: » + data + «\nStatus: » + status);
});
});
The first parameter of is the URL we wish to request («demo_test_post.asp»).
Then we pass in some data to send along with the request (name and city).
The ASP script in «demo_test_post.asp» reads the parameters,
processes them, and returns a result.
The third
parameter is a callback function. The first callback parameter holds the content of
the page requested, and the second callback parameter holds the status of
the request.
Tip: Here is how the ASP file looks like («demo_test_post.asp»):
<%
dim fname,city
fname=Request.Form(«name»)
city=Request.Form(«city»)
Response.Write(«Dear » & fname & «. «)
Response.Write(«Hope you live well in » & city & «.»)
%>
JS Учебник
JS ГлавнаяJS ВведениеJS УстановкаJS ВыводJS СинтаксисJS ЗаявленияJS КомментарииJS ПеременныеJS ОператорыJS АрифметикаJS ПрисваиванияJS Типы данныхJS ФункцииJS ОбъектыJS ОбластьJS СобытияJS СтрокиJS Методы строкJS ЧислаJS Методы чиселJS МассивыJS Методы массиваJS Сортировка массиваJS Итерация массиваJS ДатыJS Формат датыJS Метод получения датJS Методы набора…JS Математические…JS Случайные числаJS БулевыJS Сравнение…JS Заявления if…elseJS Заявление switchJS Цикл forJS Цикл whileJS Заявление break…JS Преобразование…JS Битовые…JS Регулярные выраженияJS ОшибкиJS ОтладчикJS ПодъемныйJS СтрогийJS Ключевое слово thisJS Руководство стиляJS ПрактикаJS Распространенные ошибкиJS ЭффективностьJS Зарезервированные словаJS ВерсииJS Версия ES5JS Версия ES6JS JSON
Защита: используем nonce и проверяем права
Нет острой необходимости проверять AJAX запрос, если он потенциально не опасный. Например, когда он просто получает какие-то данные. Но когда запрос удаляет или обновляет данные, то его просто необходимо дополнительно защитить с помощью nonce кода и проверкой прав доступа.
Разработчики часто ленятся ставить такую защиту, получая самый неожиданный результат. Недобросовестные пользователи могут каким-либо образом заставить юзера с правами сделать то что им нужно и в итоге навредить сайту над которым вы работали долгие месяцы, годы.
Существует два вида защиты, которые нужно использовать в AJAX запросах в большинстве случаев.
1. Код nonce (случайный код)
Nonce — это уникальная строка, которая создается и используется один раз — одноразовое число. Nonce проверка используется, когда нужно убедится, что запрос был послан с указанного «места».
В WordPress есть функции wp_create_nonce() и check_ajax_referer() — это базовые функции для создания и последующей проверки nonce кода. С их помощью мы и будем создавать защиту nonce для AJAX запросов.
Для начала создадим nonce код:
add_action( 'wp_enqueue_scripts', 'myajax_data', 99 );
function myajax_data(){
wp_localize_script('twentyfifteen-script', 'myajax',
array(
'url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('myajax-nonce')
)
);
}
это название основного скрипта темы (см. выше), который подключается на сайте с помощью wp_enqueue_script().
Затем, в AJAX запросе добавим переменную с кодом nonce:
var ajaxdata = {
action : 'myajax-submit',
nonce_code : myajax.nonce
};
jQuery.post( myajax.url, ajaxdata, function( response ) {
alert( response );
});
Теперь, в обработке заброса необходимо проверить nonce код:
add_action( 'wp_ajax_nopriv_myajax-submit', 'myajax_submit' );
add_action( 'wp_ajax_myajax-submit', 'myajax_submit' );
function myajax_submit(){
// проверяем nonce код, если проверка не пройдена прерываем обработку
check_ajax_referer( 'myajax-nonce', 'nonce_code' );
// или так
if( ! wp_verify_nonce( $_POST, 'myajax-nonce' ) ) die( 'Stop!');
// обрабатываем данные и возвращаем
echo 'Возвращаемые данные';
// не забываем завершать PHP
wp_die();
}
check_ajax_referer() работает на основе функции wp_verify_nonce() и по сути является её оберткой для AJAX запросов.
Обратите внимание, что в данном случае Nonce код создается в HTML коде. А это значит, что если у вас установлен плагин страничного кэширования, то этот код может и наверняка будет устаревать к моменту очередного AJAX запроса, потому что HTML код кэшируется..
2. Проверка прав доступа
Тут AJAX запросы будут срабатывать только для пользователей с правом указанным правом, например author. Для всех остальных, включая неавторизованных пользователей, AJAX запрос вернет ошибку.
Особенность тут в том, что не авторизованные пользователи тоже должны видеть сообщение об ошибке при AJAX запросе. Поэтому для них тоже нужно обрабатывать запрос и вернуть сообщение об ошибке:
add_action( 'wp_ajax_nopriv_myajax-submit', 'myajax_submit' );
add_action( 'wp_ajax_myajax-submit', 'myajax_submit' );
function myajax_submit(){
// проверяем nonce код, если проверка не пройдена прерываем обработку
check_ajax_referer( 'myajax-nonce', 'nonce_code' );
// текущий пользователь не имеет права автора или выше
if( ! current_user_can('publish_posts') )
die('Этот запрос доступен пользователям с правом автора или выше.')
// ОК. У юзера есть нужные права!
// Делаем что нужно и выводим данные на экран, чтобы вернуть их скрипту
// Не забываем выходить
wp_die();
}
Запрос HTML-файла и обработка ответа
Последний набор статических данных, который мы запрашиваем – это HTML.
Код HTML, приведенный в листинге 9, ― это то, что мы получали в предыдущих примерах.
Листинг 9.
Пример HTML-файла для Ajax-запроса с применением jQuery
<h1>Improving Ajax Development with jQuery</h1> <p>It's no surprise that Ajax is a great way to enhance a web application. However, sometimes the code that needs to be written can take more time than traditional development techniques, especially when you're interacting with dynamic server-side data sets. Luckily, with the introduction of jQuery there's now a quicker and more robust way to write JavaScript and Ajax. The suite of Ajax functions available through jQuery makes Ajax development much easier than the past by allowing you to write less code and by lending additional methods and event handlers to cover any situation. The amount of code that needs to be written with jQuery is very minimal, even when developing complex functions, so development is a lot faster. With these tools Ajax is becoming a more viable option when developing a website or application, even on a tight deadline.</p> <a href="http://articles.studiosedition.com/ibm/ improving_ajax/ImprovingAjaxDevWithJQuery.zip"> Download the source </a>
HTML – это, пожалуй, самый простой для обработки тип ответа, потому что разбирать нечего.
Как и в предыдущих примерах, чтобы создать запрос HTML, начнем с внедрения библиотеки jQuery, а затем добавим специальный код JavaScript в событие .
В коде, который показан в листинге 10, как и в примере , используется параметр , которому присваивается значение , что указывает на то, что jQuery возвратит HTML как неформатированный текст, а не XML или объект JavaScript, как в предыдущих примерах.
Функция аналогична традиционным запросам JavaScript Ajax с использованием свойства , которое возвращает неформатированный текст.
Другое полезное свойство заключается в том, что если в результирующем наборе HTML присутствуют теги script, они оцениваются при добавлении к HTML-странице, так что можно добавить код JavaScript, который будет выполняться после добавления данных HTML к странице.
Как и раньше, применяются события и , и параметру присваивается имя в соответствии с реальным типом данных – на этот раз, – чтобы его было легко идентифицировать.
Поскольку данные HTML анализировать не нужно, их можно просто добавить в тело страницы HTML, и все готово.
Листинг 10.
Запрос и разбор HTML с помощью Ajax и jQuery
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Improving Ajax Development with jQuery</title>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: 'data/content.html',
dataType: 'html',
success: function(html, status, xhr) {
$("body").append(html);
},
error: function(xhr, status, err) {
// Обработка ошибок
}
});
});
</script>
</head>
<body>
</body>
</html>
Загрузка разметки на страницу с помощью метода load()
Очень удобный метод jQuery позволяет легко получать разметку HTML с сервера через AJAX и вставлять ее автоматически в текущую страницу. Если скрипт серверной стороны выполняет всю работу по обработке данных и формированию разметки, и вы хотите только вывести результат на странице, то вам нужно использовать метод .
В простейшем случае вы можете вызвать метод следующим образом:
$('#myElement').load( url );
Данный пример делает запрос AJAX по адресу , получает разметку с сервера и замещает ею содержание элемента .
Также можно передать данные в запросе, также как и в методах и :
var data = { city: "Васюки", date: "20120318" };
$('#myElement').load( url, data );
Модифицируем наш пример с прогнозом погоды так, чтобы сервер создавал разметку для передаваемых данных. Затем вызовем метод для отображения полученной разметки на странице. Сначала сохраним следующую разметку в файле на сервере:
<h2>Прогноз погоды в Васюках</h2> <h3>18 марта 2012</h3> <p>Будет мерзко холодно, сыро и слякотно. Макисмальная температура: 1C.</p>
имитирует эффект выполнения скрипта на стороне сервера и возвращает разметку с прогнозом погоды.
Теперь сохраняем следующий код в файле в той же папке, что и :
<!doctype html>
<html lang="ru">
<head>
<title>Прогноз погоды</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$( function() {
$('#getForecast').click( function() {
var data = { city: "Васюки", date: "20120318" };
$('#forecast').load( "getForecast.html", data );
} );
} );
</script>
</head>
<body>
<button id="getForecast">Получить прогноз погоды</button>
<div id="forecast"></div>
</body>
</html>
Пробуем запустить демонстрацию и наслаждаемся результатом работы запроса AJAX.
Вот как работает код примера:
- Страница содержит элемент с идентификатором , в котором будет размещаться разметка прогноза.
- Обработчик события для кнопки формирует данные для отправки на сервер.
- Затем обработчик выбирает и вызывает метод jQuery , передавая URL () и объект с данными.
- jQuery выполняет AJAX запрос к файлу . Когда браузер получает ответ , jQuery автоматически замещает содержание элемента полученной разметкой.
Одной из причин того, что метод легко использовать является то, что не нужно писать возвратную функцию для обработки ответа — jQuery все делает для вас. Но если вам требуется производить какие-нибудь действия после того, как разметка вставлена, вы можете передать «полноценную» возвратную функцию в качестве третьего аргумента методу .
Примеры
Сделать запрос к test.php, игнорируя ответ:
$.post("test.php");
Сделать запрос к test.php, передать данные, игнорировать ответ:
$.post("test.php", { name: "John", time: "2pm" } );
Передать массив данных на сервер, игнорируя ответ:
$.post("test.php", { 'choices[]': } );
Обработать ответ от сервера (HTML или XML в зависимости от того, что пришло):
$.post("test.php", function(data) {
alert("Data Loaded: " + data);
});
Сделать запрос к test.cgi, предать данные, обработать ответ (HTML или XML в зависимости от того, что пришло):
$.post("test.cgi", { name: "John", time: "2pm" })
.done(function(data) {
alert("Data Loaded: " + data);
});
Получить от сервера ответ в JSON формате и вывести его на страницу (<?php echo json_encode(array(«name»=>»John»,»time»=>»2pm»)); ?>):
$.post("test.php",
function(data) {
$('body').append( "Name: " + data.name ) // John
.append( "Time: " + data.time ); // 2pm
}, "json");
Отправка формы POST запросом и отображение результата в div
$.ajax({
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<form action="/" id="searchForm">
<input type="text" name="s" placeholder="Search..." />
<input type="submit" value="Search" />
</form>
<!-- результат будет отображён в этом div -->
<div id="result"></div>
<script>
/* прикрепить событие submit к форме */
$("#searchForm").submit(function(event) {
/* отключение стандартной отправки формы */
event.preventDefault();
/* собираем данные с элементов страницы: */
var $form = $( this ),
term = $form.find( 'input' ).val(),
url = $form.attr( 'action' );
/* отправляем данные методом POST */
var posting = $.post( url, { s: term } );
/* результат помещаем в div */
posting.done(function( data ) {
var content = $( data ).find( '#content' );
$( "#result" ).empty().append( content );
});
});
</script>
</body>
</html>
Синхронный запрос
Чтобы выполнить синхронный запрос, измените третий параметр в методе на :
xhttp.open(«GET», «ajax_info.txt», false);
Иногда для быстрого тестирования используются async = false. Вы также найдете синхронные запросы в более старом коде JavaScript.
Так как код будет ждать завершения работы сервера, нет необходимости в функции :
Пример
xhttp.open(«GET», «ajax_info.txt», false);
xhttp.send();
document.getElementById(«demo»).innerHTML = xhttp.responseText;
Синхронный XMLHttpRequest (async = false) не рекомендуется, так как JavaScript перестанет выполняться до тех пор, пока не будет готов ответ сервера.
Если сервер занят или работает медленно, приложение зависнет или остановится.
Синхронный XMLHttpRequest находится в процессе удаления из веб стандарта, но этот процесс может занять много лет.
Современные средства разработки рекомендуется предупреждать об использовании синхронных запросов
и может выдать исключение InvalidAccessError, когда это происходит.
История
Впервые термин AJAX был публично использован 18 февраля 2005 года в статье Джесси Джеймса Гарретта (Jesse James Garrett) «Новый подход к веб-приложениям». Гарретт придумал термин, когда ему пришлось как-то назвать новый набор технологий, предлагаемый им клиенту.
Однако в той или иной форме многие технологии были доступны и использовались гораздо раньше, например в подходе «Remote Scripting», предложенном компанией Microsoft в 1998 году, или с использованием HTML-элемента IFRAME, появившегося в Internet Explorer 3 в 1996 году.
AJAX стал особенно популярен после использования его компанией в сервисах Gmail, Google Maps и Google Suggest.
XMLHttpRequest API и его возможности
Хотя помимо XHR существуют и другие подходы для получения данных с сервера, именно XHR остается «ядром» большинства AJAX-приложений. Взаимодействие на основе XHR строится на двух компонентах: запрос и ответ. Ниже будут рассмотрены обе эти составляющие.
Модель безопасности
Как уже говорилось, исходный объект обладает четкой моделью безопасности. Политика «same-origin» (объекты, происходящие из одного места) позволяет взаимодействовать только с тем хостом, протоколом и портом, которые использовались запрошенной страницей. Это означает, что общение между различными доменами (example.com и example2.com), различными хостами (my.example.com и www.example.com) и различными протоколами (http://example.com и https://example.com) запрещено и приводит к возникновению ошибки.
Однако благодаря разработке консорциумом W3C второй версии XHR-объекта и нового протокола Cross-origin Request Protocol и реализации этих концепций в большинстве Web-браузеров, включая InternetExplorer 8+, Mozilla Firefox 3.5+, Apple Safari 4+ и Google Chrome, появилась возможность выполнять запросы между доменами. Хотя для этого и потребовалось время, но теперь, указав в запросе специальный заголовок :
Origin: http://example.com
и настроив сервер отправлять обратно соответствующий заголовок :
Access-Control-Allow-Origin: : http://example.com
стало возможным осуществлять дуплексное взаимодействие между доменами с помощью XHR-объектов.
Запрос (request)
Со стороны запроса доступны следующие четыре метода:
-
– открывает подключение к серверу и принимает несколько аргументов:
- — используемый HTTP-метод (допускается или )
- — запрошенный URL-адрес.
- — необязательный -параметр, сигнализирующий о том является ли запрос асинхронным или нет (по умолчанию равен ).
- – необязательный параметр, содержащий имя пользователя для аутентификации.
- – необязательный параметр, содержащий пароль, используемый для аутентификации.
- – устанавливает заголовки запроса и принимает два аргумента: (имя заголовка) и (значение заголовка).
- – отправляет запрос и может принимать необязательный параметр, содержащий тело -запроса.
- – прерывает отправку запроса.
Ответ (response)
Объект также обладает определенными атрибутами и методами:
- – стандартный HTTP-статус запроса (например, в случае успешного выполнения запроса будет возвращено значение ).
- – строка, содержащая полное описание статуса, возвращенного Web-сервером (например, ).
- – возвращает значение определенного заголовка ответа; в качестве параметра принимает имя запрашиваемого заголовка.
- – возвращает текстовое содержание всех заголовков ответа.
- – атрибут, в котором хранится текстовое представление тела запроса.
- – атрибут, содержащий XML-представление тела запроса – фрагмент документа с DOM и всеми соответствующими методами.
Состояние readyState
После создания объект может находиться в одном из пяти состояний, перечисленных ниже:
- 0: UNSENT – объект только что был создан.
- 1: OPENED – был успешно вызван метод данного объекта.
- 2: HEADERS_RECEIVED – заголовки ответа были успешно загружены.
- 3: LOADING – тело ответа загружается.
- 4: DONE – запрос был выполнен, но неизвестно – успешно или нет (информацию о результате выполнения запроса можно получить с помощью стандартных статусов и заголовков HTTP-ответа).
Заключение
После изучения основ и некоторых аспектов внутренней реализации AJAX можно уверенно переходить к созданию AJAX-сценариев для собственных Web-сайтов и приложений. Как и в случае с любой технологией, лучший способ изучить AJAX – это использовать его для решения практических задач, так что не стесняйтесь использовать или изменять примеры, представленные в этой статье. За последние несколько лет выяснилось, что изучение AJAX – это крайне выгодное вложение ресурсов и времени.
Похожие темы
- An introduction to Ajax: оригинал статьи (EN).
- The Story of XMLHttp (Alex Hopmann) (EN): статья об истории XMLHttp.
- Ajax: A New Approach to Web Applications (Jesse James Garret) (EN): статья-манифест, в которой впервые был подробно описан AJAX-подход.
- JSON.org: Web-сайт, посвященный JSON.
- ECMA-262 ECMAScript Language Specification 5th edition (декабрь 2009) (EN): информация о стандартизированной версии JSON.
- Спецификация XMLHttpRequest 2 (EN).
- Cross-origin Resource Sharing: публикация W3C, посвященная обмену информацией между различными доменами.
- Исследование Николаса Закаса (Nicholas Zakas), посвященное организации AJAX-взаимодействия между различными доменами..
-
Ajax
with Dojo: дополнительная информация о Dojo. - YUI3: IO: дополнительная информация о YUI3.
- Присоединяйтесь к автору статьи в Твиттере.
- Следите за публикациями developerWorks в Твиттере или подпишитесь на канал твитов по Linux на developerWorks.
- Загрузить JSONP.
- Дополнительная информация о методе , входящем в jQuery API.
- Дополнительная информация о JavaScript-библиотеке jQuery.
- Загрузить Dojo Toolkit.
- Загрузить библиотеку YUI.
Заключение
После изучения основ и некоторых аспектов внутренней реализации AJAX можно уверенно переходить к созданию AJAX-сценариев для собственных Web-сайтов и приложений. Как и в случае с любой технологией, лучший способ изучить AJAX – это использовать его для решения практических задач, так что не стесняйтесь использовать или изменять примеры, представленные в этой статье. За последние несколько лет выяснилось, что изучение AJAX – это крайне выгодное вложение ресурсов и времени.
Похожие темы
- An introduction to Ajax: оригинал статьи (EN).
- The Story of XMLHttp (Alex Hopmann) (EN): статья об истории XMLHttp.
- Ajax: A New Approach to Web Applications (Jesse James Garret) (EN): статья-манифест, в которой впервые был подробно описан AJAX-подход.
- JSON.org: Web-сайт, посвященный JSON.
- ECMA-262 ECMAScript Language Specification 5th edition (декабрь 2009) (EN): информация о стандартизированной версии JSON.
- Спецификация XMLHttpRequest 2 (EN).
- Cross-origin Resource Sharing: публикация W3C, посвященная обмену информацией между различными доменами.
- Исследование Николаса Закаса (Nicholas Zakas), посвященное организации AJAX-взаимодействия между различными доменами..
-
Ajax
with Dojo: дополнительная информация о Dojo. - YUI3: IO: дополнительная информация о YUI3.
- Присоединяйтесь к автору статьи в Твиттере.
- Следите за публикациями developerWorks в Твиттере или подпишитесь на канал твитов по Linux на developerWorks.
- Загрузить JSONP.
- Дополнительная информация о методе , входящем в jQuery API.
- Дополнительная информация о JavaScript-библиотеке jQuery.
- Загрузить Dojo Toolkit.
- Загрузить библиотеку YUI.





