..


Sponsrade länkar

Vad är nytt i jQuery 1,5

Artikel skriven av Riccardo Brambilla
Sidan 1 av 3

Det är ett par veckor av version 1.5 av vår älskade jQuery, följt av vändande post 1.5.1, i grunden en bugg-rättade versionen av den första.

Min första instinkt ledde mig att tro att du kan vänta lite tid att pressa fram den här nya versionen, om bara för att 1.4.x gren som redan genomförts på sitt arbete mycket väl, att inte nämna att vara lite mer tid på versionen ger användaren en känsla av stabilitet och säkerhet.

Men när jag läser vad som har förändrats och lagt jag ändrade mig direkt.

Förändringarna i 1,5 är betydande, men inte så mycket i funktioner som är utsatta för hur mycket arbete har gjorts bakom kulisserna, särskilt i form Ajax-utvecklare, vars ändringar tveka inte att ringa epokgörande, inte så mycket i allmänhet (det som andra ramverk som redan används Här presenterar vi nu) men för jQuery.

Vi ser lite mer specifikt vad som har gjorts.

Revolution (och refactoring) av formen Ajax

$ Extension. Ajax ()

Ramverket utveckling team har skrivit de flesta av Ajax API ger tre sätt att utöka funktionaliteten på $ Ajax ():. Av förfilter, den omvandlare och transporter

Den Förfilter

Ett förfilter är en callback-funktion som heter innan ajax begäran faktiskt skickas och, som förklaras i dokumentation, innan någon behandlingsalternativ av $. Ajax () själv.

Förfiltret registreras använda $ AjaxPrefilter ().:

 



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

 

Jag kommer att förklara vad en jqXHR, Se det som en wrapper för nu berikats med en XMLHttpRequest.

Det mest intressanta exemplet i dokumentationen förklarar den möjliga användningen av förfilter för att ändra ett befintligt alternativ






 $. AjaxPrefilter (funktion (tillval) {



  



 if (options.crossDomain) {



    



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



    



 options.crossDomain = false;



  



 }







 });



Att säga, om alternativet är crossDomain samtalet proxade till URL http://mydomain.net/proxy/.

Den omvandlare

A-omvandlare är en callback-funktion anropas när datatypen fått skiljer sig från den förväntade.

Och "möjligt att använda $ AjaxSetup () för att registrera det globalt.:






 $. AjaxSetup ({



  



 omformare: {



    



 "Miodatatype texten": function (textValue) {



      



 if (giltig (textValue)) {



        



 / / Här anpassad logik att tolka!



        



 miodatatypeValue tillbaka;



      



 Else {}



        



 / / Meddelar ett parse error



        



 kastar undantag;



      



 }



    



 }



  



 }







 });



Eller ring direkt inline för varje samtal som kräver det:





 $. Ajax (url, {



  



 dataType: "xml texten miodatatype"



  



 omformare: {



    



 "XML texten": function (xmlValue) {



      



 / / Parse logiken här!



      



 textValue tillbaka;



    



 }



  



 }







 });



Anledningen mest rimligt att använda en omvandlare är att det ger ett sätt att definiera egna datatyper används sedan som en returtyp, det första exemplet, kan vi begära typ miodatatype detta:






 $. Ajax (url, {



  



 dataType: "miodatatype"







 });



Obs: datatyp måste definieras som små strängar.

Transporterna

Om det fanns tillräckligt omvandlare de förfilter och för att forma vår Ajax önskemål, är de objekt tillgängliga transporter, att den dokumentation som definierar sista utväg (som skulle översättas som "inte använder" eller med "om du känner dig manad att använda dem, kanske du bör fundera på logik som du använder ").

Men transporterna ger två funktioner: skicka och avbryta och bör använda $ AjaxTransport ()..

Här är den grundläggande exempel ges i dokumentationen:






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



  



 if (/ * transportCanHandleRequest * /) {



    



 {Return



      



 Skicka: funktion (rubriker, completeCallback) {



        



 / * Skicka kö * /



      



 },



      



 Abort: function () {



        



 / * Avbryt kod * /



      



 }



    



 };



  



 }







 });



och beskrivningen av de parametrar som översätter för din bekvämlighet:

  1. alternativ är alternativen för begäran
  2. originalOptions alternativ skickas till metoden samt Ajax, modiifcate inte definieras som standard och utan ajaxSettings
  3. jqXHR jqXHR är föremål för begäran
  4. rubriker och en karta nyckel / värde av ansökan som kan överföras om transport stöder
  5. completeCallback är den funktion som meddelar slutförandet av ajax begäran.

den typiska strukturen i en completeCallback är följande:

 



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

 
där:
  1. status är HTTP status för svaret, den klassiska 200, 404 ...
  2. statusText är beskrivningen av svaret
  3. Svaren är en valfri karta som definierar datatypen / värde som innehåller svaret i alla format accepteras av transporter, till exempel ett svar i klartext: {text: textData}
  4. rubriker är en valfri sträng som innehåller de svar som lämnats av XMLHttpRequest.getAllResponseHeaders Headers ()

Vi har beskrivit vad som lagts för att öka flexibiliteten i modulen ajax, men för gemensamt utnyttjande Jag tycker det är mycket intressant kommentar om införandet av uppskjutna, men innan så jqXHR definiera det nya objektet som returneras från Ajax samtal.

jqXHR

jqXHR familj är ett superset av XMLHttpRequest objekt som implementerar gränssnittet Promise genom att ge alla metoder, egenskaper och beteenden definieras av ett löfte:

Definition: Ett löfte är en skrivskyddad vy av resultatet av en uppgift och representerar det värde som returneras av slutförandet av transaktionen.

För mer information se här .

I samma kategori ...
E-Learning
CSS (kurs) CSS (kurs)
Webbdesign och tillgänglighet enligt W3C CSS och XHTML. Från 29 €.
HTML (kurs) HTML (kurs)
Det märkspråk för webben från 29 €.
Javascript (Kurs) Javascript (Kurs)
Komplett guide till klient-side-scripting. Från 39 €.
Sponsrade länkar