..


Sponsorerede links

Hvad er nyt i jQuery 1,5

Artikel skrevet af Riccardo Brambilla
Side 1 af 3

Det er et par uger ud af version 1.5 af vores elskede jQuery, efterfulgt af tilbagevenden af post 1.5.1, dybest set en bug-rettet version af den første.

Min første indskydelse fik mig til at tro, at du kunne vente lidt tid til at kværne denne udgivelse, hvis blot fordi 1.4.x filialen allerede er udført på deres arbejde meget godt, for ikke at nævne, at være lidt mere tid på version giver brugerne en følelse af stabilitet og sikkerhed.

Men da jeg læste hvad, der er blevet ændret og tilføjet jeg ombestemte mig lige med det samme.

Ændringerne i 1,5 er væsentlige, men ikke så meget i funktioner, der er udsat for, hvor meget arbejde der er gjort bag kulisserne, især i form Ajax udviklere, hvis ændringer du ikke tøve med at kalde epokegørende, ikke så meget generelt (hvad andre rammer allerede bruger Her introducerer vi nu), men for jQuery.

Vi ser en lidt mere specifikt, hvad der er blevet gjort.

Revolution (og refactoring) i form Ajax

$ Extension. Ajax ()

Rammerne udvikling team har omskrevet det meste af AJAX API giver tre måder at udvide funktionaliteten i $ Ajax ():. Den forfiltre, at omformere og transporterer

Den forfiltre

Et forfilter er en callback funktion kaldet før ajax anmodningen rent faktisk bliver sendt, og som beskrevet i dokumentationen, forud for eventuelle behandlingsmuligheder af $. Ajax () selv.

Forfilteret er indspillet ved hjælp af $ AjaxPrefilter ().:

 



 $. AjaxPrefilter (funktion (optioner, originalOptions, jqXHR)

 

Jeg vil forklare, hvad en jqXHR, Tænk på det som en wrapper for nu beriget med en XMLHttpRequest.

Det mest interessant eksempel i den dokumentation, forklarer den mulige brug af forfiltre til at ændre en eksisterende mulighed






 $. AjaxPrefilter (funktion (optioner) {



  



 if (options.crossDomain) {



    



 options.url = "http://miodominio.it/proxy/" + encodeURIComponent (options.url);



    



 options.crossDomain = false;



  



 }







 });



At sige, hvis indstillingen er crossDomain opkaldet er Approksimeret til webadressen http://mydomain.net/proxy/.

Den konvertere

A-konverter er en callback funktion kaldes, når datatype modtages er forskellig fra det forventede.

Og 'muligt at bruge $ AjaxSetup () til at registrere det globalt.:






 $. AjaxSetup ({



  



 omformere: {



    



 "Miodatatype tekst"-funktion (textValue) {



      



 if (gyldig (textValue)) {



        



 / / Her brugerdefineret logik til at parse!



        



 miodatatypeValue vende tilbage;



      



 Else {}



        



 / / Giver besked en parse fejl



        



 kaste undtagelse;



      



 }



    



 }



  



 }







 });



Eller ring direkte inline for hvert opkald, der kræver det:





 $. Ajax (url, {



  



 datatype: "XML tekst miodatatype"



  



 omformere: {



    



 "XML tekst"-funktion (xmlValue) {



      



 / / Parse logikken her!



      



 textValue vende tilbage;



    



 }



  



 }







 });



Grunden mest fornuftigt at bruge en konverter er, at det giver en måde at definere dine egne datatyper derefter brugt som en tilbagevenden type, det første eksempel, kan vi anmode den type miodatatype dette:






 $. Ajax (url, {



  



 datatype: "miodatatype"







 });



Bemærk: datatypen skal være defineret som små bogstaver strenge.

The Transporter

Hvis der var nok konvertere de forfiltre og for at forme vores ajax anmodninger, er de objekter, der stilles til rådighed transporter, at dokumentationen definerer sidste udvej (hvilket ville oversætte som "ikke bruger" eller med ", hvis du føler dig tvunget til at bruge dem, måske du skulle reflektere over logik, du bruger ").

Men transporterne giver to funktioner: Send og undlade og registreres ved hjælp af $ AjaxTransport ()..

Her er den grundlæggende eksempel i den tilhørende dokumentation:






 $. AjaxTransport (funktion (optioner, originalOptions, jqXHR) {



  



 if (/ * transportCanHandleRequest * /) {



    



 {Return



      



 send: funktion (headers, completeCallback) {



        



 / * Send kø * /



      



 },



      



 ABORT: function () {



        



 / * Abort kode * /



      



 }



    



 };



  



 }







 });



og beskrivelsen af ​​de parametre, der oversætter for din bekvemmelighed:

  1. muligheder er mulighederne for anmodningen
  2. originalOptions muligheder er gået til den metode, såvel som Ajax, modiifcate ikke defineret som standard og uden ajaxSettings
  3. jqXHR jqXHR er genstand for anmodningen
  4. overskrifter og en kort nøgle / værdi af anmodningen, der kan overføres, hvis transport understøtter
  5. completeCallback er den funktion, som giver besked færdiggørelsen af ajax anmodning.

den typiske struktur i en completeCallback er som følger:

 



 funktion (status, statusText, svar, overskrifter) {}

 
hvor:
  1. status er den HTTP-statuskode på svaret, den klassiske 200, 404 ...
  2. statusText er beskrivelsen af indsatsen
  3. svar er et valgfrit kort, der definerer datatype / værdi, som indeholder svaret på alle formater som accepteres af transport: for eksempel et svar i klartekst: {tekst: textData}
  4. overskrifter er en valgfri streng, der indeholder det svar, som XMLHttpRequest.getAllResponseHeaders Headers ()

Vi har beskrevet hvad, der er blevet tilføjet for at øge fleksibiliteten af modulet ajax, men for fælles benyttelse jeg finder det meget interessant kommentar om indførelse af udskudt, men før du gør det jqXHR definere den nye objekt, der er returneret fra Ajax opkald.

jqXHR

jqXHR familie er et supersæt af XMLHttpRequest objekt, der implementerer grænsefladen Promise ved at give alle de metoder, egenskaber og adfærd defineret ved et løfte:

Definition: Et løfte er et skrivebeskyttet visning af resultatet af en opgave, og repræsenterer den værdi, der returneres ved afslutningen af transaktionen.

For mere information se her .

I den samme kategori ...
E-Learning
CSS (Kursus) CSS (Kursus)
Web Design og tilgængelighed i henhold til W3C CSS og XHTML. Fra 29 €.
HTML (Kursus) HTML (Kursus)
Det markup sprog til nettet fra 29 €.
Javascript (Kursus) Javascript (Kursus)
Komplet guide til klient-side scripting. Fra 39 €.
Sponsorerede links