..


Рекламные ссылки

Что нового в JQuery 1,5

Статья написана Риккардо Брамбилла
Страница 1 из 3

Это несколько недель из версии 1.5 нашего любимого JQuery, а затем с обратной почтой 1.5.1, в основном ошибка, исправленная версия в первую очередь.

Мой первый инстинкт привели меня к мысли, что вы могли бы подождать некоторое время, чтобы произвести в новой версии, хотя бы потому 1.4.x ветка уже вел свою работу очень хорошо, не говоря уже о том, что остается чуть больше времени на версия дает пользователям ощущение стабильности и безопасности.

Но когда я прочитал, что было изменено и дополнено я изменил свое мнение сразу же.

Изменения в версии 1.5 являются существенными, но не так много функций, которые подвергаются воздействию, как много работы было сделано за кулисами, особенно в форме Ajax разработчиков, изменения которых не стесняются называть эпохальным, и не столько в целом (то, что другие структуры уже используют Здесь мы введем сейчас), но и для JQuery.

Мы видим, немного больше, что конкретно было сделано.

Революции (и рефакторинг) формы Ajax

$ Extension. Ajax ()

Команда разработчиков фреймворка переписал большинство 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) {



        



 / * Отправить очереди * /



      



 },



      



 прервать: функция () {



        



 / * Прервать код * /



      



 }



    



 };



  



 }







 });



и описание параметров, которые переводят для Вашего удобства:

  1. варианты варианты запроса
  2. originalOptions опции передаются методом, а также Ajax, modiifcate не определен по умолчанию и без ajaxSettings
  3. jqXHR jqXHR является предметом запроса
  4. заголовки и карта ключ / значение из запроса, который может передаваться, если транспортное поддерживает
  5. completeCallback является функция, которая уведомляет завершения запроса Ajax.

Типичная структура completeCallback выглядит следующим образом:

 



 Функция (статус, StatusText, ответы, заголовки) {}

 
где:
  1. статуса HTTP код статуса ответа, классический 200, 404 ...
  2. StatusText является описание ответ
  3. ответов дополнительно карту, которая определяет тип данных / значение, содержащее ответ во всех форматах принято транспорта: например ответ в виде простого текста: {текст: TextData}
  4. заголовков дополнительно строку, содержащую ответ, представленный XMLHttpRequest.getAllResponseHeaders Заголовки ()

Мы описали то, что было добавлены для увеличения гибкости модуля Ajax, но и для общего пользования, я нахожу это очень интересным комментировать введение отложено, но перед этим jqXHR определить новый объект, который возвращается из вызовов Ajax.

jqXHR

jqXHR семья является надстройкой объекта XMLHTTPRequest, который реализует интерфейс Promise, предоставляя все методы, свойства и поведение определяются обещание:

Определение: Обещание это только для чтения, просмотра результата задачи и представляет собой значение, возвращенное завершения сделки.

Более подробную информацию см. здесь .

В той же категории ...
E-Learning
CSS (курс) CSS (курс)
Веб-дизайн и доступность в соответствии с W3C CSS и XHTML. Начиная от 29 €.
HTML (курс) HTML (курс)
Язык разметки для веб от 29 €.
Javascript (курс) Javascript (курс)
Полное руководство для сценариев на стороне клиента. С 39 €.
Рекламные ссылки