..
Это несколько недель из версии 1.5 нашего любимого JQuery, а затем с обратной почтой 1.5.1, в основном ошибка, исправленная версия в первую очередь.
Мой первый инстинкт привели меня к мысли, что вы могли бы подождать некоторое время, чтобы произвести в новой версии, хотя бы потому 1.4.x ветка уже вел свою работу очень хорошо, не говоря уже о том, что остается чуть больше времени на версия дает пользователям ощущение стабильности и безопасности.
Но когда я прочитал, что было изменено и дополнено я изменил свое мнение сразу же.
Изменения в версии 1.5 являются существенными, но не так много функций, которые подвергаются воздействию, как много работы было сделано за кулисами, особенно в форме Ajax разработчиков, изменения которых не стесняются называть эпохальным, и не столько в целом (то, что другие структуры уже используют Здесь мы введем сейчас), но и для JQuery.
Мы видим, немного больше, что конкретно было сделано.
Команда разработчиков фреймворка переписал большинство Ajax API предоставляет три способа расширить функциональность $ Ajax ():. Предварительные фильтры, преобразователи и транспорты
Предфильтр является функцией обратного вызова вызывается перед запрос Ajax на самом деле послал, и, как описано в документации, до какого-либо лечения от $. Ajax () непосредственно.
Предфильтр записывается с помощью $ AjaxPrefilter ().:
$. AjaxPrefilter (функция (опционы, originalOptions, jqXHR)
Я объясню, что jqXHR, Думайте об этом как оболочка для теперь обогащенный XMLHttpRequest.
Наиболее интересный пример в документации, объясняет возможное использование предварительные фильтры, чтобы изменить существующий вариант
$. AjaxPrefilter (функции (опции) {
если (options.crossDomain) {
options.url = "http://miodominio.it/proxy/" + encodeURIComponent (options.url);
options.crossDomain = ложь;
}
});
Чтобы сказать, что если опция crossDomain вызова через прокси URL http://mydomain.net/proxy/.
И "можно использовать $ AjaxSetup (), чтобы зарегистрировать его по всему миру.:
$. AjaxSetup ({
преобразователей: {
"Miodatatype текст": функция (textValue) {
если (справедливо (textValue)) {
/ / Здесь логику для разбора!
miodatatypeValue возвращения;
Остальное {}
/ / Сообщает ошибка разбора
бросать исключение;
}
}
}
});
Или позвонить непосредственно встроенные для каждого звонка, что требует от него:
$. Ajax (URL, {
Тип данных: "XML-текст miodatatype"
преобразователей: {
"XML-текст": функция (xmlValue) {
/ / Parse логика здесь!
textValue возвращения;
}
}
});
Причина самая смысл использовать преобразователь, что он предоставляет возможность определить свои собственные типы данных, затем используется в качестве возвращаемого типа, первый пример, мы можем запросить тип miodatatype это:
$. Ajax (URL, {
Тип данных: "miodatatype"
});
Примечание: тип данных должен быть определен как нижний регистр строк.
Если бы не было достаточно преобразователей предварительные фильтры и для формирования нашего Ajax запросы, объекты становятся доступными транспортов, что документация определяет крайнем (что было бы перевести как "не использовать" или "если вы вынуждены использовать их, возможно, вам стоит задуматься о Логика, что вы используете ").
Однако транспорт обеспечивает две функции: отправка и прервать и должны быть записаны с помощью $ AjaxTransport ()..
Вот основной пример, приведенный в документации:
$. AjaxTransport (функция (опционы, originalOptions, jqXHR) {
если (/ * transportCanHandleRequest * /) {
{Возвращение
отправить: функция (заголовки, completeCallback) {
/ * Отправить очереди * /
},
прервать: функция () {
/ * Прервать код * /
}
};
}
});
и описание параметров, которые переводят для Вашего удобства:
Типичная структура completeCallback выглядит следующим образом:
Функция (статус, StatusText, ответы, заголовки) {}
где:
Мы описали то, что было добавлены для увеличения гибкости модуля Ajax, но и для общего пользования, я нахожу это очень интересным комментировать введение отложено, но перед этим jqXHR определить новый объект, который возвращается из вызовов Ajax.
jqXHR семья является надстройкой объекта XMLHTTPRequest, который реализует интерфейс Promise, предоставляя все методы, свойства и поведение определяются обещание:
Определение: Обещание это только для чтения, просмотра результата задачи и представляет собой значение, возвращенное завершения сделки.
Более подробную информацию см. здесь .
| |
CSS (курс)
Веб-дизайн и доступность в соответствии с W3C CSS и XHTML. Начиная от 29 €. |
| |
HTML (курс)
Язык разметки для веб от 29 €. |
| |
Javascript (курс)
Полное руководство для сценариев на стороне клиента. С 39 €. |