..


Sponsede Lenker

Hva er nytt i jQuery 1.5

Artikkel skrevet av Riccardo Brambilla
Side 1 av 3

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.

Revolution (og refactoring) i skjemaet Ajax

Utvidelse av $. Ajax ()

Rammeverket utviklingsteam har skrevet mesteparten av Ajax API gir tre måter å utvide funksjonaliteten av $ Ajax ():. Den forfiltre, de transporterer og omformere

Den forfiltre

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/.

Den omformere

En omformer er en tilbakeringing funksjon kalles når motta datatype er forskjellig fra forventet.

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.

Den Transports

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:

  1. Alternativene er alternativene av anmodningen
  2. originalOptions alternativer er gått til metoden samt Ajax, modiifcate ikke definert som standard og uten ajaxSettings
  3. jqXHR jqXHR er gjenstand for anmodningen
  4. overskrifter og et kart nøkkel / verdi av anmodningen at transporten kan overføre hvis støtter
  5. completeCallback er en funksjon som varsler ferdigstillelse av ajax forespørsel.

den typiske strukturen til et completeCallback er som følger:

 



 funksjon (status, statusText, responser, overskrifter) {}

 
hvor:
  1. status er HTTP status code av responsen, 200, klassiske 404 ...
  2. statusText er beskrivelsen av responsen
  3. Svarene er en valgfri kart som definerer datatype / verdi inneholder responsen i alle formater godtas av transport, for eksempel et svar i klartekst: {tekst: textData}
  4. hoder er en valgfri streng med responsen fra XMLHttpRequest.getAllResponseHeaders Topptekster ()

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

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 .

I samme kategori ...
E-Learning
CSS (Course) CSS (Course)
Web Design og tilgjengelighet i henhold til W3C CSS og XHTML. Starter fra 29 €.
HTML (Course) HTML (Course)
Kodespråket for Web fra 29 €.
JavaScript (Course) JavaScript (Course)
Komplett guide til klient-side scripting. Starter fra 39 €.
Sponsede Lenker