..


Sponzorované odkazy

Co je nového v jQuery 1.5

Článek napsal Riccardo Brambilla
Strana 1 z 3

Je to pár týdnů z verze 1.5 našeho milovaného jQuery, následuje návrat po 1.5.1, v podstatě Oprava chyb verze první.

Můj první instinkt mě vedlo k myšlence, že byste mohli čekat nějaký čas chrlit nové verze, i kdyby jen proto, že větev 1.4.x již vykonával svou práci velmi dobře, nemluvě o tom, že zůstanou o něco více času na verze přináší uživatelům pocit stability a bezpečnosti.

Ale když jsem si přečetl, co se změnilo a přidal jsem si to rozmyslel hned.

Změny ve verzi 1.5 jsou značné, ale ne tolik funkcí, které jsou vystaveny, kolik práce bylo vykonáno v zákulisí vývojáři, zejména ve formě Ajax, jehož změny neváhejte volat epochální, ani ne tak obecně (jiných rámcích, které již používají Zde vám představujeme dnes), ale pro jQuery.

Vidíme něco konkrétně, co se stalo.

Revolution (a refactoring) formuláře Ajax

Rozšíření $. Ajax ()

Rámec Vývojový tým má přepsat většinu AJAX API umožňuje tři způsoby, jak rozšířit funkce $ Ajax ():. Předfiltry, dopravy a konvertory

Předfiltry

Předfiltr je callback funkce volána před žádost Ajax je vlastně poslal, a, jak je vysvětleno v dokumentaci, před jakýmkoli možnosti léčby v $. Ajax () sám.

Předfiltr jsou účtovány $ AjaxPrefilter ().:

 



 $. AjaxPrefilter (function (volby, originalOptions, jqXHR)

 

Vysvětlím vám, co jqXHR, Ber to jako obálka pro nyní rozšířen o XMLHttpRequest.

Nejzajímavější příklad v dokumentaci vysvětluje možné využití předfiltry změnit stávající možnosti






 $. AjaxPrefilter (function (možnosti) {



  



 if (options.crossDomain) {



    



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



    



 options.crossDomain = false;



  



 }







 });



Abych vám řekl: Pokud je volba crossDomain hovor je odhadován na URL http://mydomain.net/proxy/.

Převodníky

Konvertor je callback funkce aktivována, když obdrží datový typ se liší od toho očekává.

A "lze použít $ AjaxSetup () k registraci je po celém světě.:






 $. AjaxSetup ({



  



 převodníky: {



    



 "Miodatatype text": function (textValue) {



      



 if (platí (textValue)) {



        



 / / Zde je vlastní logiku zpracovat!



        



 miodatatypeValue návrat;



      



 Else {}



        



 / / Upozorní parse error



        



 throw výjimkou;



      



 }



    



 }



  



 }







 });



Nebo volejte přímo inline pro každý hovor, který vyžaduje:





 $. Ajax (url, {



  



 Typ dat: "Text XML miodatatype"



  



 převodníky: {



    



 "XML text": function (xmlValue) {



      



 / / Parse logiku!



      



 textValue návrat;



    



 }



  



 }







 });



Důvodem nejrozumnější použít převodník je, že poskytuje způsob, jak definovat vlastní datové typy pak použít jako návratový typ, první příklad, můžeme požádat o typ miodatatype takto:






 $. Ajax (url, {



  



 Typ dat: "miodatatype"







 });



Poznámka: datový typ musí být definován jako malá řetězce.

Doprava

Pokud by bylo dostačující k modelu měniče a předfiltry naše Ajax požadavky, jsou objekty dostupné transporty, že dokumentace vymezuje poslední možnost (která by se překládat jako "Nepoužívejte" nebo ", pokud máte pocit, nuceni používat, možná byste se měli zamyslet nad logické, že používáte ").

Nicméně dopravy poskytuje dvě funkce: možnost poslat a ukončit a měla by být zaznamenáno přes $ AjaxTransport ()..

Zde je jednoduchý příklad v dokumentaci:






 $. AjaxTransport (function (volby, originalOptions, jqXHR) {



  



 if (/ * transportCanHandleRequest * /) {



    



 {Return



      



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



        



 / * Fronta Odeslat * /



      



 }



      



 abort: function () {



        



 / * Přerušit kód * /



      



 }



    



 };



  



 }







 });



a popis parametrů, které překládají pro vaše pohodlí:

  1. Volby jsou možnosti podání žádosti
  2. originalOptions možnosti jsou předány metodě, stejně jako Ajax, modiifcate není definováno ve výchozím nastavení a bez ajaxSettings
  3. jqXHR jqXHR je předmětem žádosti
  4. záhlaví a map klíč / hodnota požadovat, aby přeprava lze přenášet v případě, že podporuje
  5. completeCallback je funkce, která oznámí dokončení žádosti Ajax.

typická struktura completeCallback je následující:

 



 funkce (stav, statusText, reakce, hlavičky) {}

 
kde:
  1. Stav je stavový kód HTTP odpovědi, Classic 200, 404 ...
  2. statusText je popis odpovědi
  3. reakce je volitelný mapu, která definuje datový typ / value obsahuje odpověď ve všech formátech, které provádí dopravní: například odpověď ve formátu prostého textu: {text: TextData}
  4. záhlaví je volitelný řetězec obsahující odpověď ze XMLHttpRequest.getAllResponseHeaders záhlaví ()

Popsali jsme, co bylo přidáno zvýšit flexibilitu modulu Ajax, ale pro běžné použití považuji za velmi zajímavé připomínky k zavedení odloženého, ​​ale ještě před tím jqXHR definují nový objekt, který se vrátil z hovorů Ajax.

jqXHR

jqXHR je nadřazen známých XMLHttpRequest objekt, který implementuje rozhraní slib poskytnutí všechny metody, vlastnosti a chování definované slib:

Definice: Slib je jen pro čtení vzhledem k výsledku úkolu a představuje hodnotu vrácenou dokončení transakce.

Více informací naleznete zde .

Ve stejné kategorii ...
E-Learning
CSS (kurz) CSS (kurz)
Web Design a přístupnosti podle W3C CSS a XHTML. Od 29 €.
HTML (kurz) HTML (kurz)
Značkovací jazyk pro web od 29 €.
JavaScript (kurz) JavaScript (kurz)
Kompletní průvodce pro skriptování na straně klienta. Od 39 €.
Sponzorované odkazy