..


Sponsorētās saites

Kas jauns 1,5 jQuery

Raksts raksta Riccardo Brambilla
Lapa 1 no 3

Tas ir dažas nedēļas no mūsu mīļais jQuery 1,5 versiju, kam seko atgriešanās 1.5.1 pastu, pamatā bug-fiksētu versiju pirmās.

Mans pirmais instinkts lika man domāt, ka jūs varētu gaidīt kādu laiku, lai izlaistu šo jauno release, kaut vai tikai tāpēc 1.4.x filiāle, kas jau veic savu darbu ļoti labi, nemaz nerunājot, kas paliek nedaudz vairāk laika versija sniedz lietotājiem stabilitātes sajūtu un drošību.

Bet, kad es izlasīju to, kas ir mainījies un pievienotās es mainīja manu prātu uzreiz.

1.5 izmaiņas ir būtiskas, bet ne tik daudz funkcijas, kas ir pakļauti, cik daudz darba ir paveikts aizkulisēs, jo īpaši ar Ajax izstrādātājiem, kuru izmaiņas nevilcinieties, lai izsauktu Epochal, ne tik daudz vispār (to, kas citiem pamatnoteikumiem jau lieto Šeit mēs ieviest tagad), bet jQuery.

Mēs redzam, mazliet precīzāk, kas ir paveikts.

Revolūcijas (un refactoring) formas Ajax

$ Extension Ajax (.)

Ietvara izstrādes komanda ir pārraksta lielāko Ajax API paredz trīs risinājumus, lai paplašinātu funkcionalitāti $ Ajax (). Ievadfiltru kartridžus, pārveidotāji un transports

Ievadfiltru kartridžus

Pirmsfiltrs ir atzvanīšanas funkciju sauc pirms ajax pieprasījuma sūtījis, un, kā paskaidrots dokumentācijā, pirms ārstēšanas iespējas ar $ Ajax () pašas par sevi..

Pirmsfiltrs reģistrē, izmantojot $ AjaxPrefilter ().:

 



 $. AjaxPrefilter (funkcija (iespējas, originalOptions, jqXHR)

 

Es paskaidrošu, ko jqXHR, Domājiet par to kā tagad iesaiņojuma bagātināts ar XMLHttpRequest.

Visbiežāk interesanti piemērs dokumentācijā izskaidro iespēju izmantot ievadfiltru kartridžus, lai mainītu esošo iespēju






 $. AjaxPrefilter (funkcija (opcijas) {



  



 if (options.crossDomain) {



    



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



    



 options.crossDomain = false;



  



 }







 });



Teikt, ja iespēja ir crossDomain zvans tiek ataino uz URL http://mydomain.net/proxy/.

Pārveidotāji

Pārveidotājs ir atzvanīšanas funkcija ieslēdzas, ja datatype saņemto atšķiras no gaidīts.

Un "iespējams izmantot $ AjaxSetup (), to reģistrēt visā pasaulē.:






 $. AjaxSetup ({



  



 pārveidotāji: {



    



 "Miodatatype tekstu": funkcija (textValue) {



      



 ja (spēkā esošu (textValue)) {



        



 / / Šeit pasūtījuma loģika parsēt!



        



 miodatatypeValue atgriešanās;



      



 Else {}



        



 / / Brīdina parsēt kļūda



        



 mest izņēmums;



      



 }



    



 }



  



 }







 });



Vai arī zvanīt tieši inline par katru zvanu, kas to pieprasa:





 $. Ajax (url, {



  



 datatype: "xml teksts miodatatype"



  



 pārveidotāji: {



    



 "XML tekstu": funkcija (xmlValue) {



      



 / / Parsēšanas loģika šeit!



      



 textValue atgriešanās;



    



 }



  



 }







 });



Iemesls vislietderīgāk izmantot pārveidotāju, ir, ka tas sniedz iespēju noteikt savu datatypes tad izmanto kā atgriešanās tips pirmajā piemērā, mēs varam lūgt tips miodatatype šo:






 $. Ajax (url, {



  



 datatype: "miodatatype"







 });



Piezīme: datatype ir jādefinē kā mazo stīgas.

Transports

Ja būtu pietiekami daudz pārveidotāju ievadfiltru kartridžus un veidot mūsu AJAX pieprasījumus, objekti ir pieejami transports, ka dokumentācija nosaka pēdējais līdzeklis (kas būtu tulkot kā "nelietot" vai ar "ja jūtat, spiesti izmantot tos, iespējams, jums vajadzētu padomāt par loģiski, ka jūs izmantojat ").

Tomēr transports nodrošina divas funkcijas: sūtīt un pārtraukt, un jāreģistrē, izmantojot $ AjaxTransport ()..

Šeit ir pamata piemērs sniegts dokumenti:






 $. AjaxTransport (funkcija (iespējas, originalOptions, jqXHR) {



  



 if (/ * transportCanHandleRequest * /) {



    



 {Return



      



 nosūtīt: funkcija (galvenes, completeCallback) {



        



 / * Sūtīt rindā * /



      



 },



      



 pārtraukt: funkcija () {



        



 / * Pārtraukt kods * /



      



 }



    



 };



  



 }







 });



un parametru apraksts, kas izpaužas jūsu ērtībai:

  1. iespējas varianti pieprasījuma
  2. originalOptions iespējas ir nodota metodei, kā arī Ajax, modiifcate nav definēts pēc noklusējuma, un bez ajaxSettings
  3. jqXHR jqXHR ir pakļauta pieprasījuma
  4. galvenes un kartes atslēgu / vērtību pēc pieprasījuma, ko var nodot, ja transporta atbalsta
  5. completeCallback ir funkcija, kas informē, ka ir pabeigtas ajax pieprasījumu.

tipisks struktūra completeCallback ir šāds:

 



 funkciju (statusu, statusText, atbildes, virsraksti) {}

 
ja:
  1. statuss ir HTTP statusa kodu atbildes, klasiskās 200, 404 ...
  2. statusText ir apraksts atbildes
  3. Atbildes ir obligāta karte, kas nosaka datatype / vērtību, kas satur atbilde visos formātos pieņem transportu, piemēram atbildi vienkāršā tekstā: {text: textData}
  4. galvenēm ir obligāta virkne, kurā sniegtā atbilde XMLHttpRequest.getAllResponseHeaders Galvenes ()

Mums ir aprakstīts, kas ir pievienots, lai palielinātu elastību moduļa Ajax, bet koplietošanas Man ir ļoti interesants komentārs par ieviešanu atliek, bet pirms to darīt jqXHR definēt jaunu objektu, kas ir atgriezies no ajax zvanus.

jqXHR

jqXHR ģimene ir superset XMLHttpRequest objekts, kas īsteno saskarnes Promise, nodrošinot visus metodēm, īpašībām un uzvedību, nosaka solījumu:

Definīcija: Solījums ir tikai lasāms, ņemot vērā rezultātu uzdevums, un ir atgriezto vērtību darījuma pabeigšanas.

Plašāku informāciju skatīt šeit .

Šajā pašā kategorijā ...
E-Learning
CSS (Kurss) CSS (Kurss)
Web Dizains un pieejamība saskaņā ar W3C CSS un XHTML. Sākot ar 29 €.
HTML (Kurss) HTML (Kurss)
Iezīmēšanas valodu Web no € 29.
Javascript (Kurss) Javascript (Kurss)
Pilnīga rokasgrāmata, lai klienta puses skriptu. Sākot no € 39.
Sponsorētās saites