..
Het is een paar weken uit de versie 1.5 van onze geliefde jQuery, gevolgd door kerende post 1.5.1, in feite een bug-vast-versie van de eerste.
Mijn eerste instinct leidde me om te denken dat je wat tijd wachten om churn deze nieuwe release, al was het maar omdat de 1.4.x tak reeds op hun werk zeer goed, niet te vermelden dat een beetje meer tijd blijven versie geeft gebruikers een gevoel van stabiliteit en veiligheid.
Maar toen ik las wat er is veranderd en toegevoegd ik ben van gedachten veranderd meteen.
De veranderingen in 1.5 zijn aanzienlijk, maar niet zozeer in functies die zijn blootgesteld aan hoeveel werk is gedaan achter de schermen, vooral in de vorm Ajax ontwikkelaars, waarvan veranderingen aarzel dan niet te bellen baanbrekende, niet zozeer in het algemeen (wat andere frameworks maken al gebruik van Hier hebben we nu introduceren), maar voor jQuery.
We zien een wat meer specifiek wat er is gedaan.
Het kader van de ontwikkeling van team heeft herschreven grootste deel van de Ajax API biedt drie manieren om de functionaliteit van $ uitbreiden Ajax ():. De voorfilters, de converters en transporteert
Een voorfilter is een callback functie aangeroepen voordat de ajax verzoek echt verstuurd, en, zoals uitgelegd in de documentatie, voorafgaand aan elke behandeling opties met $. Ajax () zelf.
Het voorfilter is opgenomen met $ AjaxPrefilter ().:
$. AjaxPrefilter (function (opties, originalOptions, jqXHR)
Ik zal uitleggen wat een jqXHR, te denken als een wrapper voor nu verrijkt met een XMLHttpRequest.
Het meest interessant voorbeeld in de documentatie verklaart het mogelijke gebruik van voorfilters te wijzigen van een bestaande optie
$. AjaxPrefilter (function (opties) {
if (options.crossDomain) {
options.url = "http://miodominio.it/proxy/" + encodeURIComponent (options.url);
options.crossDomain = false;
}
});
Om te zeggen, indien de optie is crossDomain het gesprek is proxy om de URL http://mydomain.net/proxy/.
En 'mogelijk om gebruik AjaxSetup $ () om wereldwijd te registreren.:
$. AjaxSetup ({
converters: {
"Miodatatype tekst": function (textValue) {
if (geldig (textValue)) {
/ / Hier de aangepaste logica te ontleden!
miodatatypeValue terug te keren;
Else {}
/ / Waarschuwt een parse error
werpen uitzondering;
}
}
}
});
Of bel direct inline voor elk gesprek dat vereist is:
$. Ajax (url, {
datatype: "xml text miodatatype"
converters: {
"XML tekst": function (xmlValue) {
/ / Hier Parse de logica!
textValue terug te keren;
}
}
});
De reden dat de meeste zin om een converter te gebruiken is dat het een manier om je eigen datatypes vervolgens gebruikt als een return type, het eerste voorbeeld te definiëren biedt, kunnen we verzoek het type miodatatype dit:
$. Ajax (url, {
datatype: "miodatatype"
});
Opmerking: Het datatype moet worden gedefinieerd als kleine letters strings.
Als er genoeg converters de voorfilters en voor het vormgeven van onze ajax verzoeken, de voorwerpen ter beschikking worden gesteld transporten, dat de documentatie laatste redmiddel (dat zou vertalen als "niet gebruiken" of met "als u zich gedwongen voelen om ze te gebruiken, misschien moet je nadenken over definieert logisch dat u gebruikt ").
Echter, de transporten te bieden twee functies: versturen en afbreken en moeten worden opgenomen met behulp van $ AjaxTransport ()..
Hier is de basis voorbeeld in de documentatie:
$. AjaxTransport (function (opties, originalOptions, jqXHR) {
if (/ * transportCanHandleRequest * /) {
{Return
stuur: functie (headers, completeCallback) {
/ * Stuur wachtrij * /
},
abort: function () {
/ * Annuleren code * /
}
};
}
});
en de beschrijving van de parameters die te vertalen voor uw gemak:
de typische structuur van een completeCallback is als volgt:
functie (status, statusText, reacties, headers) {}
waar:
We hebben beschreven wat er is toegevoegd om de flexibiliteit van de module ajax te verhogen, maar voor het gemeenschappelijk gebruik vind ik het erg interessant commentaar op de introductie van de uitgestelde, maar alvorens dit te doen jqXHR worden bepaald welke nieuwe object dat is terug uit de ajax oproepen.
jqXHR familie is een superset van het XMLHttpRequest object dat de interface Promise door het verstrekken van alle methoden, eigenschappen en gedragingen gedefinieerd door een Promise implementeert:
Definitie: Een Promise is een alleen-lezen weergave van het resultaat van een taak en vertegenwoordigt de waarde die wordt geretourneerd door de voltooiing van de transactie.
Voor meer informatie zie hier .
| |
CSS (Cursus)
Web Design en toegankelijkheid volgens de W3C CSS en XHTML. Vanaf 29 €. |
| |
HTML (Cursus)
De opmaaktaal voor het web vanaf 29 €. |
| |
Javascript (Cursus)
Complete gids voor client-side scripting. Van 39 €. |