..
Det er noen uker ute av versjon 1.5 av vår elskede jQuery, etterfulgt av retur av post 1.5.1, i utgangspunktet en bug-fast versjon av den første.
Mitt første instinkt fikk meg til å tenke at du kunne vente litt tid å skru ut denne nye versjonen, hvis bare fordi 1.4.x grenen allerede gjennomført på arbeidet deres veldig godt, for ikke å nevne at forbli litt mer tid på versjonen gir brukerne en følelse av stabilitet og sikkerhet.
Men når jeg leser hva som har blitt endret og lagt jeg ombestemt meg med en gang.
Endringene i 1.5 er betydelige, men ikke så mye i funksjoner som er utsatt for hvor mye arbeid har blitt gjort i kulissene av utviklere spesielt i form Ajax, hvis endringene ikke nøl med å ringe epokegjørende, ikke så mye generelt (andre rammer som allerede bruker Her introduserer vi nå), men for jQuery.
Vi ser litt mer spesifikt hva som ble gjort.
Rammeverket utviklingsteam har skrevet mesteparten av Ajax API gir tre måter å utvide funksjonaliteten av $ Ajax ():. Den forfiltre, de transporterer og omformere
Et forfilter er en tilbakeringing funksjon kalt før Ajax forespørselen faktisk er sendt, og som forklart i dokumentasjonen, før en eventuell behandling av $. Ajax () selv.
Forfilteret er registrert ved hjelp av $ AjaxPrefilter ().
$. AjaxPrefilter (funksjon (opsjoner, originalOptions, jqXHR)
Jeg vil forklare hva en jqXHR, Tenk på det som en wrapper for nå forbedret med en XMLHttpRequest.
Det mest interessant eksempel i dokumentasjonen forklarer mulig bruk av forfiltre å endre en eksisterende opsjon
$. AjaxPrefilter (funksjon (opsjoner) {
if (options.crossDomain) {
options.url = "http://miodominio.it/proxy/" + encodeURIComponent (options.url);
options.crossDomain = false;
}
});
For å fortelle deg: hvis alternativet er crossDomain samtalen proxy webadresser på http://mydomain.net/proxy/.
Og "mulig å bruke $ AjaxSetup () for å registrere den globalt.
$. AjaxSetup ({
omformere: {
"Miodatatype tekst": funksjon (textValue) {
if (gyldig (textValue)) {
/ / Her skikken logikk for å analysere!
miodatatypeValue tilbake;
Else {}
/ / Varsler en parse error
kaste unntak;
}
}
}
});
Eller ring direkte inline for hver samtale som krever det:
$. Ajax (url, {
datatype: "xml tekst miodatatype"
omformere: {
"XML-tekst": funksjon (xmlValue) {
/ / Analyser logikken her!
textValue tilbake;
}
}
});
Grunnen mest fornuftig å bruke en omformer er at det gir en måte å definere egne datatyper deretter brukt som en tilbakevending type, det første eksemplet kan vi be typen miodatatype som dette:
$. Ajax (url, {
datatype: "miodatatype"
});
Merk: datatype må defineres som små strenger.
Dersom det var tilstrekkelig å modellere omformere og forfiltre våre ajax forespørsler, er objektene gjort tilgjengelig transporterer, at dokumentasjonen definerer siste utvei (som ville oversette som "ikke bruk" eller med "hvis du føler deg tvunget til å bruke dem, kanskje du bør reflektere over logikk at du bruker ").
Men transporterer gi to funksjoner: send og abort og bør registreres via $ AjaxTransport ()..
Her er den grunnleggende eksempelet gitt i dokumentasjonen:
$. AjaxTransport (funksjon (opsjoner, originalOptions, jqXHR) {
if (/ * transportCanHandleRequest * /) {
{Return
Send: funksjon (overskrifter, completeCallback) {
/ * Send kø * /
},
abortere: funksjon () {
/ * Abort code * /
}
};
}
});
og beskrivelsen av parametrene som oversetter for enkelhets skyld:
den typiske strukturen til et completeCallback er som følger:
funksjon (status, statusText, responser, overskrifter) {}
hvor:
Vi har beskrevet hva som har blitt lagt til øke fleksibiliteten i modul ajax, men for vanlig bruk synes jeg det er veldig interessant kommentar om innføring av utsatt, men før du gjør det jqXHR definere det nye objektet som returneres fra Ajax samtaler.
jqXHR er et supersett av de kjente XMLHttpRequest objekt som implementerer grensesnittet Promise tilby alle metoder, egenskaper og atferd definert av en Promise:
Definisjon: En Promise er en skrivebeskyttet visning av resultatet av en oppgave og representerer verdien som returneres av fullføring av transaksjonen.
For mer informasjon se her .
| |
CSS (Course)
Web Design og tilgjengelighet i henhold til W3C CSS og XHTML. Starter fra 29 €. |
| |
HTML (Course)
Kodespråket for Web fra 29 €. |
| |
JavaScript (Course)
Komplett guide til klient-side scripting. Starter fra 39 €. |