Formatul răspunsului ajax este mai bun decât xml, html sau json

De la ultimul proiect AJAX, mă întrebam din ce în ce mai mult despre forma ideală a răspunsului la aplicația AJAX.

Când primiți date suplimentare pentru aplicația dvs. AJAX, ar trebui să executați un script care va plasa aceste date suplimentare pe pagina HTML. Categoric, tipul de script depinde mai mult de formatul datelor obținute. Este necesar să căutați un document XML pentru noduri speciale și să copiați codul în HTML? Sau ați prefera să obțineți o bucată de cod HTML pe care doriți să o adăugați la pagină în acest formular "așa cum este"?

În ultimul meu proiect, am obținut unele date în format XML și unele date în HTML. Pentru a pune datele pe o pagină, aceste formate necesită diferite tipuri de scripturi. În ambele cazuri, atât pentru formatele de date, cât și pentru scripturile pentru ele, există avantaje și dezavantaje.

Și totuși, ce format este mai bun? În ce format găsiți cele mai bune sau cel puțin cele mai aplicabile în practică în mediul AJAX?

Documente XML

Documentul XML este prima și cea mai evidentă alegere a formatului de ieșire. Ideea originală din spatele obiectelor XMLHTTP era de a importa documente XML, deci nu este deloc surprinzător faptul că a fost acordată mai multă atenție formatului XML și este încă considerat formatul implicit.

Serverul a returnat un document XML:

Avem nevoie de acest script pentru a afișa rezultatele în stratul nostru

.

Mai multe linii de cod, după cum puteți vedea. Deși W3C DOM ne oferă acces deplin atât la documentul XML provenit de la server, cât și la documentul HTML, unde datele trebuie reflectate, dar nu oferă o modalitate elegantă și simplă de a extrage exact datele de care avem nevoie. Prin urmare, trebuie să ne implicăm în documentul XML în mod repetat.

avantaje

Cel mai important avantaj al limbajului XML este citirea ușoară de către "outsideri".

Un alt plus este faptul că limba XML a fost folosită de mult și mulți dezvoltatori au reușit să se obișnuiască cu aceasta. Spune: "Aș dori ca scriptul din partea serverului să se întoarcă în format XML" nu va provoca surpriză, spre deosebire de cererea de returnare ca obiect JSON.

deficiențe

Fragmente HTML

Al doilea și probabil cel mai interesant format de ieșire este o bucată de cod HTML. Observați că numesc "bucata" de HTML, deoarece nu primim o pagină HTML completă. În loc de ea vine piesa de cod HTML care ar trebui plasată în stratul nostru

.

Serverul returnează acest fragment HTML:

Scriptul este foarte simplu: trebuie doar să introduceți textul în obiectul paginii HTML dorite și ați terminat!

avantaje

Simplitatea scenariului este cel mai mare avantaj al acestei metode.

De asemenea, acest format oferă opțiuni de acces interesante. S-ar putea să fie cuvinte inteligente și complexe pentru a descrie porțiunea de server a scriptului pentru a construi o pagină HTML accesibilă care ar putea fi afișată pe orice dispozitiv. Când a apărut răspunsul la solicitarea AJAX, scriptul de pe server elimină tot codul HTML, cu excepția rezultatelor căutării, sau scriptul AJAX caută în sine rezultate.

Desigur, este posibil să scrieți astfel de funcții de acces utile atunci când lucrați cu XML sau JSON, dar totuși formatul HTML rămâne cea mai simplă soluție.

deficiențe

În cazul în care piesa HTML conține formulare sau elementul HTML rezultat și există un formular, atunci această metodă cauzează erori groaznice în Explorer.

În acest fragment HTML pot deveni foarte, foarte complexe. De exemplu, cele de mai sus nu se aplică, dar de îndată ce doriți să aplicați funcții CSS avansate, acestea vor necesita mai multe elemente decât este necesar, fragmentul de cod ar trebui să conțină etichete suplimentare sau alte elemente de care aveți nevoie. Astfel, scriptul de pe server care generează cod HTML poate deveni destul de greoi.

Serverul returnează următorul cod JSON:

Această bucată de cod este foarte asemănătoare cu scriptul XML. Ea efectuează aceleași funcții, codul pur și simplu citește date cu un format diferit. XSLT ar putea veni și aici.

avantaje

deficiențe

Principalul dezavantaj al JSON constă în faptul că este foarte dificil pentru oameni să înțeleagă și că fiecare virgulă distinctă, ghilimele și grupa trebuie să fie într-un anumit loc potrivit. Deși acest lucru este valabil și pentru XML, confuzia în limba JSON datorată sintaxei greu de citit ca >>]> la sfârșitul unei piese poate sperieri începători și poate complica depanarea.

Alegerea ta?

Deci, am analizat trei formate de ieșire pe care le puteți utiliza pentru a obține date AJAX. Aș fi fericit să spun care dintre ele este cel mai bun. Mi se pare că alegerea unui format adecvat depinde de condițiile specifice și nu doar de o gândire teoretică.

Cu toate acestea, să încercăm să găsim cel mai bun format. Vă voi pune câteva întrebări:

  1. Puteți sugera un alt format de ieșire?
  2. Ce format de ieșire ați utilizat în aplicațiile comerciale AJAX? (Demo-urile și așa ceva nu sunt luate în considerare)
  3. Veți schimba într-un alt format în viitor? Dacă da, care dintre ele și de ce?

Puteți să menționați avantajele și dezavantajele celor trei formate prezentate?

Răspund la întrebările mele:

  1. Nu, nu pot sugera un alt format de date.
  2. Am folosit mai mult documente XML, unele fragmente HTML.
  3. Am de gând să studiez cu atenție JSON și, probabil, voi merge la ea din cauza accesului nelimitat la aplicația concepută. Cu toate acestea, mi se pare că XML continuă să fie cel mai bun format, doar pentru că oamenii o folosesc.
  4. Am scris deja toate avantajele și dezavantajele care ar putea apărea.

Articole similare