..
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.
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ř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/.
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.
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í:
typická struktura completeCallback je následující:
funkce (stav, statusText, reakce, hlavičky) {}
kde:
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 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 .
| |
CSS (kurz)
Web Design a přístupnosti podle W3C CSS a XHTML. Od 29 €. |
| |
HTML (kurz)
Značkovací jazyk pro web od 29 €. |
| |
JavaScript (kurz)
Kompletní průvodce pro skriptování na straně klienta. Od 39 €. |