..
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.
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
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/.
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.
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:
typická štruktúra completeCallback je nasledujúci:
Funkcie (stav, statusText, reakcia, hlavičky) {}
kde:
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 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 .
| |
CSS (kurz)
Web Design a prístupnosti podľa W3C CSS a XHTML. Od 29 €. |
| |
HTML (kurz)
Značkovací jazyk pre web od 29 €. |
| |
JavaScript (kurz)
Kompletný sprievodca pre skriptovanie na strane klienta. Od 39 €. |