..


Gesponsorde links

Wat is nieuw in jQuery 1.5

Artikel geschreven door Riccardo Brambilla
Pagina 1 van 3

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.

Revolutie (en refactoring) van het formulier Ajax

$ Extension. Ajax ()

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

De Voorfilters

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

De converters

A converter is een callback functie aangeroepen wanneer het datatype ontvangen anders is dan verwacht.

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.

De Transports

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:

  1. opties zijn de opties van het verzoek
  2. originalOptions opties worden doorgegeven aan de methode als Ajax, modiifcate standaard niet gedefinieerd en zonder ajaxSettings
  3. jqXHR jqXHR is het onderwerp van het verzoek
  4. headers en een kaart sleutel / waarde van het verzoek dat kan worden uitgezonden indien het transport ondersteunt
  5. completeCallback is de functie die de voltooiing van de Ajax-verzoek kennis.

de typische structuur van een completeCallback is als volgt:

 



 functie (status, statusText, reacties, headers) {}

 
waar:
  1. status is de HTTP status code van de respons, de klassieke 200, 404 ...
  2. statusText is de beschrijving van de respons
  3. reacties is een optionele kaart die het datatype / waarde dat het antwoord in alle formaten geaccepteerd door transport bevat definieert: bijvoorbeeld een antwoord in plain text: {text: textData}
  4. headers is een optionele tekenreeks met het antwoord van XMLHttpRequest.getAllResponseHeaders Headers ()

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

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 .

In dezelfde categorie ...
E-Learning
CSS (Cursus) CSS (Cursus)
Web Design en toegankelijkheid volgens de W3C CSS en XHTML. Vanaf 29 €.
HTML (Cursus) HTML (Cursus)
De opmaaktaal voor het web vanaf 29 €.
Javascript (Cursus) Javascript (Cursus)
Complete gids voor client-side scripting. Van 39 €.
Gesponsorde links