..


Sponzorované odkazy

Čo je nové v jQuery 1.5

Článok napísal Riccardo Brambilla
Strana 1 z 3

Je to pár týždňov z verzie 1.5 nášho milovaného jQuery, nasleduje obratom pošty 1.5.1, v podstate Oprava chýb verzia prvý.

Môj prvý inštinkt ma viedlo k myšlienke, že by ste mohli čakať nejaký čas chrliť nové verzie, aj keby len preto, že 1.4.x vetvy, ktoré už boli na svoju prácu veľmi dobre, nehovoriac o tom, že zostanú o niečo viac času na verzia prináša užívateľom pocit stability a bezpečnosti.

Ale keď som si prečítal, čo sa zmenilo a pridal som si to rozmyslel hneď.

Zmeny vo verzii 1.5 sú značné, ale nie toľko funkcií, ktoré sú vystavené, koľko práce bolo vykonané v zákulisí, a to najmä vo forme Ajax vývojárov, ktorých zmeny neváhajte a zavolajte prevratné, nie tak všeobecne (to, čo iné rámce už používajú Tu vám predstavujeme dnes), ale pre jQuery.

Vidíme trochu presnejšie, čo sa stalo.

Revolution (a refactoring) formuláre Ajax

$ Rozšírenie. Ajax ()

Rámec sa vývojový tím prepísať väčšinu AJAX API umožňuje tri spôsoby, ako rozšíriť funkčnosť $ Ajax ():. Predfilter, meniče a dopravy

Predfiltre

Predfilter je callback funkcia volaná pred žiadosť Ajax je skutočne poslal, a, ako je vysvetlené v dokumentácii, pred akýmkoľvek možnosti liečby pomocou $. Ajax () sám.

Predfilter sú účtované $ AjaxPrefilter ().:

 



 $. AjaxPrefilter (function (voľby, originalOptions, jqXHR)

 

Vysvetlím vám, čo jqXHR, Ber to ako obálka pre teraz obohatený XMLHttpRequest.

Najzaujímavejšie v dokumentácii popisuje možné využitie predfiltre zmeniť existujúce možnosti






 $. AjaxPrefilter (function (možnosti) {



  



 if (options.crossDomain) {



    



 options.url = "http://miodominio.it/proxy/" + encodeURIComponent (options.url);



    



 options.crossDomain = false;



  



 }







 });



Chcete povedať, ak je táto možnosť crossDomain volanie sprostredkované na URL http://mydomain.net/proxy/.

Meniča

Converter je callback funkcia volaná, keď dostal dátový typ sa líši od očakávania.

A "je možné použiť $ AjaxSetup () k registrácii je po celom svete.:






 $. AjaxSetup ({



  



 prevodníky: {



    



 "Miodatatype text": function (textValue) {



      



 if (platné (textValue)) {



        



 / / Tu vlastnú logiku analyzovať!



        



 miodatatypeValue návrat;



      



 Else {}



        



 / / Upozorní parse error



        



 throw výnimkou;



      



 }



    



 }



  



 }







 });



Alebo volajte priamo inline pre každý hovor, ktorý vyžaduje:





 $. Ajax (url, {



  



 Typ dát: "Text XML miodatatype"



  



 prevodníky: {



    



 "XML text": function (xmlValue) {



      



 / / Parse logiku!



      



 textValue návrat;



    



 }



  



 }







 });



Dôvodom najväčšie zmysel použiť prevodník je, že poskytuje spôsob, ako definovať vlastné dátové typy potom slúži ako návratový typ, prvý príklad, môžeme požiadať o typ miodatatype toto:






 $. Ajax (url, {



  



 Typ dát: "miodatatype"







 });



Poznámka: dátový typ musí byť definovaný ako malá reťazca.

Doprava

Ak by sa dosť prevodníky predfiltre a pri formovaní našej Ajax požiadavky, sú objekty dostupné transporty, že dokumentácia vymedzuje poslednú možnosť (ktorá by sa prekladať ako "Nepoužívajte" alebo "Ak máte pocit, nútení používať, možno by ste sa mali zamyslieť nad logické, že používate ").

Avšak dopravy poskytuje dve funkcie: poslať a ukončiť, a mali by byť zaznamenané pomocou $ AjaxTransport () ..

Tu je jednoduchý príklad v dokumentácii:






 $. AjaxTransport (function (voľby, originalOptions, jqXHR) {



  



 if (/ * transportCanHandleRequest * /) {



    



 {Return



      



 Pošlite: function (hlavičky, completeCallback) {



        



 / * Odoslanie fronty * /



      



 }



      



 abort: function () {



        



 / * Prerušiť kód * /



      



 }



    



 };



  



 }







 });



aj popis parametrov, ktoré prekladajú pre vaše pohodlie:

  1. Voľby sú možnosti podania žiadosti
  2. originalOptions možnosti sú odovzdané metóde, rovnako ako Ajax, modiifcate nie je definovaný v predvolenom nastavení a bez ajaxSettings
  3. jqXHR jqXHR je predmetom žiadosti
  4. hlavičky a máp kľúč / hodnota žiadosti, ktoré môžu byť poskytnuté v prípade dopravnej podporuje
  5. completeCallback je funkcia, ktorá upozorní na dokončenie žiadosti Ajax.

typická štruktúra completeCallback je nasledujúci:

 



 Funkcie (stav, statusText, reakcia, hlavičky) {}

 
kde:
  1. Stav je stavový kód HTTP odpovede, Classic 200, 404 ...
  2. statusText je popis reakcia
  3. reakcie je voliteľný máp, ktorý definuje dátový typ / hodnota, ktorá obsahuje odpovede na všetky formáty prijaté doprava: napríklad odpoveď v texte: {text: TextData}
  4. záhlaví je voliteľný reťazec obsahujúci odpoveď zo XMLHttpRequest.getAllResponseHeaders hlavičky ()

Popísali sme, čo bola pridaná pre zvýšenie pružnosti modulu Ajax, ale pre bežné používanie považujem za veľmi zaujímavé pripomienky k zavedeniu odloženého, ​​ale ešte pred tým jqXHR definovať nový objekt, ktorý sa vrátil z hovorov Ajax.

jqXHR

jqXHR rodina je nadradený objektu XMLHttpRequest, ktorý implementuje rozhranie sľub tým, že všetky metódy, vlastnosti a správanie definované sľub:

Definícia: Sľub je len pre čítanie vzhľadom k výsledku úlohy a predstavuje hodnotu vrátenú dokončení transakcie.

Viac informácií nájdete tu .

V rovnakej kategórii ...
E-Learning
CSS (kurz) CSS (kurz)
Web Design a prístupnosti podľa W3C CSS a XHTML. Od 29 €.
HTML (kurz) HTML (kurz)
Značkovací jazyk pre web od 29 €.
JavaScript (kurz) JavaScript (kurz)
Kompletný sprievodca pre skriptovanie na strane klienta. Od 39 €.
Sponzorované odkazy