Domanda

AJAX in realtà significa Asynchronous JavaScript and XML. Questo termine è stato derivato perché (come conosco la storia) le prime persone che hanno iniziato questo processo trasferiti i dati dal server al client tramite XML. Ultimamente (bene sin da quando ho iniziato a usarlo in realtà), JSON è stato intorno e sembra essere una vera alternativa al XML. Dalle mie prove (possibilmente magre) e l'esperienza, JSON è più piccolo, più facile, e meglio per la trasmissione di dati.

Quindi la mia domanda è questa: che si usa per parlare da e verso il server / client (e possibilmente perché)? Oppure, quali sono le "buone pratiche" che avete sentito parlare di (e perché)?

Grazie a tutti!

È stato utile?

Soluzione

JSON contro XML sembra essere un dibattito in corso - Preferisco andare con JSON in quanto si tratta di una misura migliore per i servizi Web che mashup di potenza e widget AJAX perché è essenzialmente serializzati oggetti JavaScript (e quindi facile da usare con JavaScript ).

Potete trovare alcuni ampio confronto dei vantaggi e degli svantaggi di JSON e XML su JSON o XML, quale formato scegliere? e La risposta AJAX :? XML, HTML o JSON

Altri suggerimenti

In genere preferiamo XML perché ha alcuni vantaggi rispetto JSON come:

  • XML può essere convalidato, mentre JSON non ha validatore
  • Non ci sono spazi dei nomi in JSON
  • XML è estensibile a differenza json
  • JSON è generalmente considerato insicuro

D'altra parte JSON per sé ha i suoi vantaggi:

  • JSON è più semplice
  • E 'più facile da lavorare sul lato client
  • Debug può essere un gioco da ragazzi quando qualcosa va male

Alla fine dipende da ciò che si sta cercando di sviluppare, per i dati orientata roba che preferiscono JSON.

Qual è la migliore da usare è application / requisito specifico. Sul lato del browser JSON è la scelta migliore, mentre sul lato server per i file XML è la scelta migliore. Utilizzare lo strumento giusto per lavoro giusto. JSON è più verso i dati mentre XML è più verso il documento. JSON è supportato nativamente dal browser codice Javascript.

Per ulteriori informazioni e dettagli su questo post si prega di fare riferimento a un link che hanno più bel confronto di ciascuno con esempi. http://codebucket.co.in/which-one-is-better-xml -o-json /

Io preferisco utilizzare JSON quando possibile:

  1. E già si presenta come un oggetto JavaScript, quindi tutto quello che dovete fare chiamata eval () su di esso per afferrare tutti i suoi dati.
  2. JSON è Javascript, quindi è più veloce di Grok per le persone che già conoscono JS, ma non hanno la complessità di XML verso il basso.
  3. Nel browser, non si deve passare attraverso il dolore di parsing di un oggetto XML. (Inoltre, non c'è bisogno di costruire uno sul server, anche se si ha a creare il JSON in ogni modo.)
  4. E 'un metodo più compatto di trasferimento dei dati.

I gravitare verso JSON dovunque possibile in questi giorni. E 'certamente sente il peso più leggero e più "naturale" in collaborazione con codifica lato client.

Sicurezza migliori pratiche: mai ciecamente eval JSON senza effettuare un controllo sulla stringa ricevuta come si potrebbe eseguire codice arbitrario qualcuno ha "messo" nella stringa JSON

.

Douglas Crockford ha scritto un buon insieme di principi di sicurezza quando si lavora con JSON.

Ho sempre sorridere quando vedo il termine AJAX. Sorrido perché ho iniziato ad usare la stessa tecnica molto prima che esistesse ancora XMLHTTP, per non parlare di AJAX.

Abbiamo fatto la stessa cosa di AJAX su un'applicazione Intranet in IE, ma utilizzando VBScript e un applet Java, invece di XMLHTTP. Abbiamo usato qualcosa di simile a JSON, ma nella sintassi VBScript.

In teoria XML sarebbe rapido buona causa di convalida e non quello. In pratica non si può lato client convalida nei confronti di un DTD o schema ragionevole (o in maggior parte dei casi a tutti). Provalo vedrai.

XML soffre anche la sua prolissità e il consumo sul lato client. A meno che non si pensa di utilizzare XSLT o qualcosa e consumando il pacchetto ricevuto direttamente si deve tagliare i dati con il DOM come fatto.

Infine XML non può ragionevole guardato fino a quando non è completo (lato client almeno) in modo che non può fare l'ispezione parziale. Anche se ad essere onesti JSON avrà sfide là pure a seconda di come è strutturato.

Dato l'ambiente dei consumi (JavaScript per lo più) JSON ha la gamba evidente up. C'è una discussione enorme di questa scelta, più altre cose, come YAML, CSV, base64 dati codificati, frammenti HTML, ecc nel capitolo 4 di Ajax: The Complete Reference ( http://ajaxref.com ), che è solo sui tipi di dati. Esempi dimostrano confutare facilità di trattamento in particolare nei casi meno noti. Se dovessi scegliere un JSON sarebbe, ma francamente per alcuni usi di Ajax frammenti piccola HTML (dal momento che è slap e andare) è il modo per farlo.

È anche possibile generare codice HTML e l'uso che l'output direttamente nella vostra applicazione. XML è molto dettagliato dove JSON richiede particolare attenzione nella lavorazione a causa di sicurezza.

Non è in realtà un 'best practice', Personalmente se mi sarebbe scegliere tra JSON e XML vorrei utilizzare JSON. Anche se si dispone di alcune posibilities di query interessanti se si utilizza XML.

Credo che i dibattiti sulla JSON contro mostrano XML JSON può essere a best-practice. Non credo che le velocità di trasmissione client-server stanno per andare via come un problema presto, se mai . Quindi penso che JSON vincerà sulla questione di essere più piccolo solo (credo che JSON ha anche la flessibilità da quale server può inviare a, ma questo comporta, naturalmente, problemi di sicurezza come detto)

Forse dovremmo cominciare a chiamare lo "AJAWX" (Asynchronous JavaScript senza Xml).

La mia scelta è JSON.

A causa:

  • è molto più veloce. È necessario solo valutare il codice JSON dalla risposta, invece di parsing XML.
  • esso richiede molto meno del codice. eval () è inferiore a codice parser XML.
  • meno traffico (quantità di dati da trasferire) tra client e server, come risultato più veloce la manipolazione
  • più leggibile
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top