..
Este câteva săptămâni din versiunea 1.5 a jQuery nostru iubit, urmată de întoarcerea de poştă 1.5.1, practic o versiune de bug-uri fixe din prima.
Primul meu instinct m-au determinat să cred că aţi putea aştepta ceva timp pentru a putinei această nouă versiune, dacă numai pentru că nu ramura 1.4.x deja efectuate cu privire la munca lor foarte bine, să menţionez faptul că rămâne un pic de timp mai mult pe versiune oferă utilizatorilor un sentiment de stabilitate şi securitate.
Dar când am citit ceea ce a fost schimbat şi adăugat M-am razgandit imediat.
Modificările la 1,5 sunt substanţiale, dar nu atât de mult în caracteristici care sunt expuşi la cât de mult lucru a fost făcut în spatele scenei, în special în Ajax forma dezvoltatori, ale căror modificări nu ezitaţi să apelaţi epocale, nu atât de mult, în general, (ceea ce alte cadre utilizare deja Aici vom introduce acum), ci pentru jQuery.
Vedem un pic mai exact ceea ce a fost făcut.
Echipa Cadrul de dezvoltare a rescris cele mai multe dintre Ajax API oferă trei moduri de a extinde funcţionalitatea de $ Ajax ():. Prefiltre, convertoare şi transporturi
Un prefiltru este o funcţie de apel invers numit inainte de a cere Ajax este de fapt a trimis, şi, după cum se explică în documentaţie, înainte de orice optiuni de tratament de $ Ajax () în sine..
Prefiltru este înregistrat cu ajutorul AjaxPrefilter $ ().:
$. AjaxPrefilter (funcţia (opţiuni, originalOptions, jqXHR)
Voi explica ce este un jqXHR, Ganditi-va ca un înveliş de acum îmbogăţit cu un XMLHttpRequest.
Exemplul cel mai interesant în documentaţia explică posibila utilizare a prefiltre de a modifica o opţiune existent
$. AjaxPrefilter (funcţia (opţiuni) {
dacă (options.crossDomain) {
options.url = "http://miodominio.it/proxy/" + encodeURIComponent (options.url);
options.crossDomain = false;
}
});
Pentru a spune, în cazul în care opţiunea este crossDomain apelul este aproximat la http://mydomain.net/proxy/ URL-ul.
Şi "posibil să se utilizeze $ AjaxSetup () pentru a se înregistra la nivel global.:
$. AjaxSetup ({
convertoare: {
"Miodatatype textul": funcţia (textValue) {
dacă (valabil (textValue)) {
/ / Aici logica obiceiul de a analiza!
miodatatypeValue întoarcere;
Else {}
/ / Notificari o eroare de analiza
arunca excepţie;
}
}
}
});
Sau suna direct în linie pentru fiecare apel de care are nevoie:
$. Ajax (url, {
datatype: "xml textul miodatatype"
convertoare: {
"XML textul": funcţia (xmlValue) {
/ / Parse logica aici!
textValue întoarcere;
}
}
});
Motivul cel mai sens de a folosi un convertor este că oferă o modalitate de a defini tipuri de date proprii, apoi folosit ca un tip de întoarcere, primul exemplu, putem solicita acest tip miodatatype:
$. Ajax (url, {
datatype: "miodatatype"
});
Notă: Tipul de date trebuie să fie definite ca siruri de caractere cu litere mici.
Dacă nu au fost suficient de convertoare prefiltre şi pentru conturarea cererilor noastre Ajax, obiectele sunt puse transporturi disponibile, că documentaţia defineşte ultimă instanţă (care s-ar traduce ca "nu folosesc" sau cu "dacă vă simţiţi obligat să le utilizaţi, poate ar trebui să reflecteze asupra logica pe care îl utilizaţi ").
Cu toate acestea, transporturile oferă două funcţii: trimite şi va abandona şi ar trebui să fie înregistrate folosind $ AjaxTransport ()..
Aici este un exemplu de bază, prevăzute în documentaţia:
$. AjaxTransport (funcţia (opţiuni, originalOptions, jqXHR) {
dacă (/ * transportCanHandleRequest * /) {
{Return
trimite: Funcţia (anteturile, completeCallback) {
/ * * Trimite o coadă /
},
abort: function () {
/ * Abandonaţi codul * /
}
};
}
});
şi descrierea parametrilor care traduc pentru confortul dumneavoastră:
structura tipică a unui completeCallback este după cum urmează:
Funcţia (statut, statusText, răspunsurile, anteturile) {}
în cazul în care:
Am descris ceea ce a fost adăugată pentru a creşte flexibilitatea modulului Ajax, dar pentru utilizarea în comun mi se pare foarte interesant comentariu cu privire la introducerea de amânat, dar înainte de a face acest lucru jqXHR defini noul obiect care este returnată de la Ajax apeluri.
jqXHR familie este un superset al obiectului XMLHttpRequest care implementeaza interfata Promise prin furnizarea de toate metodele, proprietăţile şi comportamentele definite de o promisiune:
Definiţie: O promisiune este o vizualizare doar în citire cu privire la rezultatul unei sarcini şi reprezintă valoarea returnată de finalizarea tranzacţiei.
Pentru mai multe informaţii a se vedea aici .
| |
CSS (Curs)
Web Design şi accesibilitatea în conformitate cu W3C CSS si XHTML. Incepand de la 29 €. |
| |
HTML (Curs)
Limbajul de marcare pentru Web de la 29 €. |
| |
Javascript (Curs)
Ghid complet pentru client-side scripting. De la 39 €. |