..


Спонсоред Линкс

Шта је ново у јКуери 1.5

Чланак који је написао Рикардо Брамбилла
Страна 1 од 3

То је неколико недеља ван верзију 1.5 нашег вољеног јКуери, затим по повратку пост 1.5.1, у основи буг-фиксни верзију првог.

Мој први инстинкт навело ме је да мислим да сачекате неко време да се курбле са овом новом издању, макар само зато што 1.4.к грану већ обавља свој посао веома добро, да не помињемо да остане још мало времена верзија пружа корисницима осећај стабилности и сигурности.

Али када сам прочитао оно што је променило и додао сам се предомислио одмах.

Промене у 1.5 су значајне, али не толико у функције које су изложене колико посла је урађено иза сцене од стране програмера, посебно у облику Ајакс, чије промене не оклевајте да позовете епохални, не толико у целини (осим оквира који већ користе Ево нас данас увести), али за јКуери.

Видимо мало прецизније оно што је урађено.

Револуције (и прављења) облика Ајакс

Проширење $. Ајакс ()

Развојни тим оквир је прерадила већина АЈАКС АПИ пружа три начина да прошире функционалност $ Ајакс (): префилтерс, превози и конвертори.

Префилтерс

Предфилтром је цаллбацк функције позивају пре Ајак захтев је заправо послат, а, како је објашњено у документацији, пре било каквог третмана опције до $ Ајакс () сам..

Предфилтром је снимљени $ АјакПрефилтер ().:

 



 $. АјакПрефилтер (функција (опције, оригиналОптионс, јкКСХР)

 

Ја ћу објаснити шта јкКСХР, Замислите то као омотач за сада појачан са КСМЛХттпРекуест.

Најинтересантнији пример у документацији објашњава могуће коришћење префилтерс за измену постојећих опција






 $. АјакПрефилтер (функција (опције) {



  



 ако је (оптионс.цроссДомаин) {



    



 оптионс.урл = "хттп://миодоминио.ит/проки/" + енцодеУРИЦомпонент (оптионс.урл);



    



 оптионс.цроссДомаин = ФАЛСЕ;



  



 }







 });



Да вам кажем: ако опција цроссДомаин позив прокиед УРЛ на хттп://мидомаин.нет/проки/.

Конвертори

Конвертор је цаллбацк функције позивају када прими дататипа се разликује од очекиваног.

И "могуће је користити $ АјакСетуп () да га региструје на глобалном нивоу.:






 $. АјакСетуп ({



  



 конвертори: {



    



 "Миодататипе текст": функција (тектВалуе) {



      



 ако је (важи (тектВалуе)) {



        



 / / Овде обичај логике да цита!



        



 миодататипеВалуе повратак;



      



 Елсе {}



        



 / / Обавештава анализирати грешке



        



 баци изузетак;



      



 }



    



 }



  



 }







 });



Или позовите директно Стаза за сваки позив да се захтева:





 $. Ајакс (УРЛ, {



  



 дататипе: "кмл текст миодататипе"



  



 конвертори: {



    



 "КСМЛ текст": функција (кмлВалуе) {



      



 / / Парсе овде логика?



      



 тектВалуе повратак;



    



 }



  



 }







 });



Разлог Најразумнија да користи конвертор је у томе што пружа начин да се дефинише сопствени типови података онда користи као повратак типа, први пример, можемо захтевати миодататипе тип овако:






 $. Ајакс (УРЛ, {



  



 дататипе: "миодататипе"







 });



Напомена: дататипе мора бити дефинисана као мала жице.

Превоз

Ако је било довољно да се моделом конвертора и префилтерс наше Ајак захтева, објекти су доступни превози, да документација дефинише последње средство (што би превести као "не користе" или са "ако се осећате примораним да их користите, можда би требало да размишљају о логике да користите ").

Међутим превози обезбедити две функције: слање и прекинути и треба да се евидентира преко $ АјакТранспорт ()..

Ево основни пример предвиђено у документацију:






 $. АјакТранспорт (функција (опције, оригиналОптионс, јкКСХР) {



  



 иф (/ * транспортЦанХандлеРекуест * /) {



    



 {Ретурн



      



 послати: функција (заглавља, цомплетеЦаллбацк) {



        



 / * * Пошаљи ред /



      



 },



      



 прекинете: фунцтион () {



        



 / * Прекини код * /



      



 }



    



 ;}



  



 }







 });



и опис параметара који преводе ради ваше удобности:

  1. опције су опције захтева
  2. оригиналОптионс опције су прошли на метод, као и Ајакс, модиифцате нису дефинисане по дефаулту без ајакСеттингс
  3. јкКСХР јкКСХР је предмет захтева
  4. заглавља и мапа кључ / вредност захтева да се саобраћај преноси ако подржава
  5. цомплетеЦаллбацк је функција која обавештава завршетак Ајак захтева.

типична структура цомплетеЦаллбацк је следећа:

 



 функција (статус, статусТект, одговори, заглавља) {}

 
где је:
  1. статус је ХТТП статусни код одговора, класични 200, 404 ...
  2. статусТект је опис одговора
  3. одговора је опциони мапа која дефинише дататипа / вредност садржи одговор у свим форматима прихваћен од стране транспорта: на пример, одговор у облику чистог текста: {текст: тектДата}
  4. заглавља је опција стринг који садржи одговор које КСМЛХттпРекуест.гетАллРеспонсеХеадерс заглавља ()

Описали смо шта је додато да се повећа флексибилност модула Ајакс, али за опште употребе Ја га пронаћи врло интересантан коментар о увођењу одложено, али пре него што тај начин јкКСХР дефинишу нови објекат који се вратио из Ајак позива.

јкКСХР

јкКСХР је надскуп познате КСМЛХттпРекуест објекат који имплементира интерфејс обећање пружање свих метода, својстава и понашања дефинише обећање:

Дефиниција: Обећање је само за читање поглед на резултат задатка и представља вредност враћа завршетка трансакције.

За више информација погледајте овде .

У истој категорији ...
Е-учење
ЦСС (курс) ЦСС (курс)
Веб дизајн и доступности у складу са В3Ц ЦСС и КСХТМЛ. Полазећи од 29 €.
ХТМЛ (курс) ХТМЛ (курс)
Маркуп Лангуаге за Веб од 29 €.
Јава (курс) Јава (курс)
Комплетан водич за клијент-страни скриптовање. Полазећи од 39 €.
Спонсоред Линкс