..


Rėmėjų nuorodos

Ką naujo JQuery 1,5

Straipsnį parašė Riccardo Brambilla
Puslapis 1 iš 3

Tai kelias savaites iš mūsų mylimas jQuery 1.5 versija, po to grįžti po 1.5.1, iš esmės klaidą fiksuoto versija pirma.

Mano pirmasis instinktas paskatino mane manyti, kad galima laukti tam tikrą laiką bidonas šią naują versiją, jei tik dėl to, kad 1.4.x filialas jau atliko savo darbą labai gerai, jau nekalbant, kad lieka šiek tiek daugiau laiko versija suteikia vartotojams stabilumą ir saugumo jausmą.

Bet kai aš perskaičiau, kas buvo pakeista ir pridūrė, aš persigalvojau karto.

1,5 pakeitimai yra esminiai, bet ne tiek daug funkcijų, kad yra veikiami, kiek nuveikta užkulisiuose, ypač formos "Ajax" kūrėjų, kurių pokyčiai nedvejodami skambinti epochos, ne tiek apskritai (kas kitas sistemas jau naudoja Čia mes pristatome dabar), bet ir JQuery.

Mes matome šiek tiek konkrečiau, kas buvo padaryta.

Revoliucijos (ir Pertvarkymas) formos "Ajax"

$ Pratęsimas. "Ajax" ()

Sistemos vystymo komanda turi perrašyti dauguma Ajax API "suteikia trijų būdų išplėsti $ funkcionalumą" Ajax "(). Priešfiltrius, keitikliai ir transportas

Priešfiltrius

Filtras yra atgalinio ryšio funkcija vadinama prieš Ajax prašymą iš tikrųjų išsiųstas, ir, kaip paaiškinta dokumentus, prieš gydymą variantų $. "Ajax" () pati.

Filtras yra registruojamas naudojant $ AjaxPrefilter ().:

 



 $. AjaxPrefilter (funkcija (variantų, originalOptions, jqXHR)

 

Aš paaiškinti, ką jqXHR, Pagalvokite apie tai, kaip dabar įvynioti praturtintas XMLHttpRequest.

Įdomiausia pavyzdžiui, dokumentus paaiškina galimą priešfiltrius keisti esamą variantą






 $. AjaxPrefilter (funkcija (variantų) {



  



 if (options.crossDomain) {



    



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



    



 options.crossDomain = false;



  



 }







 });



Pasakyti, jei galimybė yra crossDomain ry ¹ ys yra tarpinis serveris į URL http://mydomain.net/proxy/.

Keitikliai

Konverteris yra atgalinio ryšio funkcija vadinama, kai datatype gautas skiriasi nuo tikėtasi.

Ir "galima naudoti $ AjaxSetup () ją užregistruoti visame pasaulyje.:






 $. AjaxSetup ({



  



 keitikliai: {



    



 "Miodatatype tekstas": funkcija (textValue) {



      



 jei (galioja (textValue)) {



        



 / / Čia užsakymą logika išanalizuoti!



        



 miodatatypeValue grįžti;



      



 Else {}



        



 / / Įspėti Klaida apdorojant



        



 mesti išimtis;



      



 }



    



 }



  



 }







 });



Arba skambinkite tiesiogiai inline už kiekvieną skambutį, kad to reikalauja:





 $. "Ajax" (URL, {



  



 datatype: "XML teksto miodatatype"



  



 keitikliai: {



    



 "XML tekstas": funkcija (xmlValue) {



      



 / / Parse logika čia!



      



 textValue grįžti;



    



 }



  



 }







 });



Priežasties dauguma prasmės naudoti keitiklį, kad jis suteikia galimybę nustatyti savo duomenų tipai tada naudojamas kaip grįžimo tipo, pirmasis Pavyzdžiui, mes galime prašyti, kad tipo miodatatype toks:






 $. "Ajax" (URL, {



  



 datatype: "miodatatype"







 });



Pastaba: datatype turi būti apibrėžiama kaip mažosiomis eilutes.

Transportas

Jei nebuvo pakankamai keitikliai priešfiltrius ir formuojant mūsų Ajax prašymus, objektai yra prieinama transporto, kad dokumentai apibrėžia kraštutiniu (kuris būtų išversti kaip "Nenaudoti" arba "jei manote, priversti juos naudoti, galbūt jums reikia pagalvoti apie logika, kad jūs naudojate ").

Tačiau transportas teikti dvi funkcijas: siųsti ir nutraukti ir turėtų būti apskaitomi naudojant $ AjaxTransport ()..

Čia yra pagrindinis pavyzdys pateikta dokumentacija:






 $. AjaxTransport (funkcija (variantų, originalOptions, jqXHR) {



  



 if (/ * transportCanHandleRequest * /) {



    



 {Return



      



 Siųsti: funkcija (antraštes, completeCallback) {



        



 / * Siųsti eilėje * /



      



 }



      



 ABORT: function () {



        



 / * Nutraukti kodas * /



      



 }



    



 };



  



 }







 });



ir parametrų apibūdinimas, kad išversti Jūsų patogumui:

  1. variantai prašymo variantų
  2. originalOptions galimybės perduoti metodas taip pat "Ajax", modiifcate nėra apibrėžta pagal nutylėjimą ir be ajaxSettings
  3. jqXHR jqXHR yra prašymo dalyko
  4. antraštes ir žemėlapyje rakto / reikšmės prašymo kuri gali būti perduodama, jeigu transporto palaiko
  5. completeCallback yra funkcija, kuri praneša, kad Ajax prašymą pabaigos.

būdinga struktūra completeCallback taip:

 



 funkcijos (statusas, statusText, atsakymai, antraščių) {}

 
jeigu:
  1. statusas yra HTTP būsenos kodas atsakymą, klasika 200, 404 ...
  2. statusText yra atsakas aprašymas
  3. atsakymai yra neprivalomas žemėlapį, kuris apibrėžia datatype / vertę, kuri yra visų formatų priimtas transporto atsakymas: pavyzdžiui paprastojo teksto atsakymą: {text: textData}
  4. antraščių yra neprivalomas eilutę, kurioje atsako teikiamos XMLHttpRequest.getAllResponseHeaders antraštes ()

Mes aprašyti, kas buvo pridėta siekiant padidinti modulio Ajax lankstumą, bet ir bendro naudojimo Manau, tai labai įdomu komentuoti atidėtojo įvedimą, tačiau prieš tai jqXHR apibrėžti naują objektą, kuris grįžo iš "Ajax" skambučius.

jqXHR

jqXHR šeima yra XMLHttpRequest objektą, realizuoja sąsają Pažadai teikiant visi metodai, savybės ir elgsena apibrėžta Pažadai supersetas:

Apibrėžimas: Pažadai yra tik skaitomas atsižvelgiant į užduoties rezultatas ir vertė sudaro grąžinami sandorio užbaigimo.

Daugiau informacijos rasite čia .

Tos pačios kategorijos ...
E-mokymasis
CSS (kurso) CSS (kurso)
Web dizainas ir prieinamumas pagal W3C CSS ir XHTML. Nuo 29 €.
HTML (kurso) HTML (kurso)
Žymėjimo kalbą nuo 29 € internete.
Javascript (kursų) Javascript (kursų)
Užbaigti vadovą kliento-side scripting. Nuo 39 €.
Rėmėjų nuorodos