Domanda

Sono nuovo di AJAX, ma come una panoramica Mi piacerebbe sapere quali formati è possibile caricare e scaricare. E 'limitata a JSON o XML o si può anche inviare i tipi di binari come MP3 o UTF-8 HTML. E, infine, avete il pieno controllo sui dati, byte per byte in qualcosa di simile a un array di byte, o è solo una stringa di inviato / ricevuto.

È stato utile?

Soluzione

Se stiamo parlando di ajax stiamo parlando di javascript? E circa XMLHTTPRequest?

Il XMLHttpRequest, che è solo una richiesta HTTP può trasferire il tutto. Ma non c'è array di byte in javascript. Solo stringhe, numeri e così via. Ogni cosa che si ottiene da una chiamata AJAX è un pezzo di testo (responseText). Che potrebbe essere analizzato in XML (che vi dà reponseXML). codifiche speciali dovrebbero essere più una questione di trasporto HTTP.

La roba binario non è dipendente, ma ajax javascript dipendente. Ci sono alcuni strani codifiche per le stringhe di fornire i dati di byte all'interno in javascript (in particolare per le immagini), ma non è una soluzione generale.

HTML non è un problema e che è il caso d'uso più prominente. Da questo tipo di richiesta che si ottiene una stringa HTML consegnato e che si aggiunge a qualche nodo nel DOM per innerHTML che analizza il codice HTML.

Altri suggerimenti

Dal momento che i dati viene trasportato via HTTP si dovrà fare in modo di utilizzare un qualche tipo di codifica. Uno dei più popolari è la codifica Base64. Potete trovare ulteriori informazioni all'indirizzo: http://www.webtoolkit.info/javascript-base64.html

La metodologia è quella di Base64-codificare i dati che si desidera inviare e poi base64 decodificare i dati sul server (o client) e utilizzare i dati originali come desiderato.

È possibile trasferire qualsiasi tipo di dati o stringhe o byte

È possibile inviare qualcosa che ti piace, il problema potrebbe essere come gestire la cosa una volta che si ottiene;)

standard HTML è probabilmente il tipo più comune di contenuti Ajax in uso là fuori -. È possibile scegliere la codifica dei caratteri troppo, anche se è sempre meglio attaccare con un tipo di codifica

AJAX significa semplicemente che si sta trasferendo dati in modo asincrono su HTTP con una chiamata JavaScript. Quindi, lo script fa una richiesta "normale" HTTP utilizzando l'oggetto XMLHttpRequest (). Tuttavia, come dice il nome, è davvero adatto solo per i formati di dati basati su testo in quanto in genere si desidera eseguire una certa azione sul lato client con i dati che tornato dal server (non sempre, però, a volte la gente è sufficiente inviare XMLHttpRequests solo aggiornare qualcosa sul server).

Una nota a parte, non ho mai visto una domanda in cui l'invio di dati binari sarebbe stato opportuno in ogni caso.

Il più delle volte, le persone scelgono di inviare dati verso il server con GET o POST (che è fondamentalmente un metodo per trasferire coppie nome-valore inerenti al HTTP). Per l'invio di dati più complessi, ad esempio strutture gerarchiche, hanno bisogno di essere codificati in qualche modo. I documenti XML possono essere effettuate in modo nativo per JavaScript, inviati tramite al server e vengono analizzati in tipi qualunque dati necessari. Ma dal momento che XML può essere un po 'di dolore, molti sviluppatori utilizzano i dati codificati JSON, invece, perché è facile da generare e facile da analizzare.

Quello che il server invia indietro è altrettanto arbitrario. Di solito, si specifica una funzione di callback in Javascript che gestisce i dati in arrivo. Ancora una volta, le scelte popolari sono XML e JSON, si analizzano facilmente in un oggetto documento o una struttura a matrice, rispettivamente. Si può anche inviare testo normale o qualche altro imballaggio, ma ricordate che poi deve prendere cura di estrarre i dati utilizzabili da soli. A volte, può anche essere utile per inviare frammenti HTML effettivi al cliente di aggiornare qualcosa sulla pagina direttamente.

Per cominciare, vi consiglio di dare un'occhiata al JQuery. E 'un quadro molto leggero che astrae molte delle cose compatibilità male e permette di scrivere richieste AJAX molto bene.

È possibile spostare qualsiasi cosa che può essere inviato su HTTP. Ci sono restrizioni circa la chiamata viene fatta allo stesso dominio della pagina caricato da, ma non sul contenuto del trasferimento. Si può fare GET o POST transazioni troppo.

C'è un Digg la voce del blog intitolato DUI.Stream e MXHR che mette in mostra quello che chiamano "multipart XMLHttpRequests." E 'il codice alpha ora, ma c'è un che gestisce le immagini .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top