Sono nuovo di AJAX, ma come una panoramica mi piacerebbe sapere quali formati è possibile caricare e scaricare. È limitato a JSON o XML o puoi persino inviare tipi binari come MP3 o HTML UTF-8. E infine, hai il pieno controllo sui dati, byte per byte in qualcosa come un array di byte, o è solo una stringa inviata/ricevuta.Quali formati di dati possono trasferire AJAX?
risposta
Se stiamo parlando di ajax stiamo parlando di javascript? E su XMLHTTPRequest?
XMLHttpRequest che è solo una richiesta http può trasferire tutto. Ma non ci sono array di byte in javascript. Solo stringhe, numeri e così via. Ogni cosa che ottieni da una chiamata ajax è una porzione di testo (responseText). Questo potrebbe essere analizzato in XML (che ti dà reponseXML). Le codifiche speciali dovrebbero essere più una questione di trasporto HTTP.
Il materiale binario non è dipendente da una jax ma dipende da javascript. Ci sono alcune strane codifiche per le stringhe che forniscono dati di byte all'interno di javascript (specialmente per le immagini) ma non è una soluzione generale.
HTML non è un problema e questo è il caso di utilizzo più importante. Da questo tipo di richiesta si ottiene una stringa HTML consegnata e che viene aggiunta a qualche nodo nel DOM per innerHTML che analizza l'HTML.
È possibile trasferire qualsiasi tipo di dati o stringhe o byte
Come si producono/consumano dati binari in javascript? –
Forse puoi usare String.charCodeAt (index) per ottenere il codice ASCII (credo) di un particolare char all'interno di una stringa. –
È possibile inviare qualcosa che ti piace, il problema potrebbe essere come gestire la cosa una volta che si ottiene;)
HTML standard è probabilmente il più tipo comune di contenuto di ajax in uso - puoi scegliere anche la codifica dei caratteri, anche se è sempre meglio attenersi a un tipo di codifica.
È possibile spostare tutto ciò che può essere inviato su HTTP. Esistono restrizioni sulla chiamata effettuata allo stesso dominio della pagina caricata da, ma non sul contenuto del trasferimento. Puoi eseguire anche transazioni GET o POST.
Poiché i dati vengono trasportati tramite HTTP, è necessario assicurarsi di utilizzare un tipo di codifica. Uno dei più popolari è la codifica base64. Per ulteriori informazioni: http://www.webtoolkit.info/javascript-base64.html
La metodologia è codificare in base64 i dati che si desidera inviare e quindi decodificare in base64 i dati sul server (o sul client) e utilizzare i dati originali come desiderato.
C'è un Digg the Blog voce dal DUI.Stream and MXHR che mostra ciò che chiamano "Multipart XMLHttpRequests". Ora è il codice alpha, ma c'è un demo that handles images.
AJAX significa semplicemente che stai trasferendo i dati in modo asincrono su HTTP con una chiamata JavaScript. Quindi il tuo script fa una richiesta HTTP "normale" usando l'oggetto XmlHttpRequest(). Tuttavia, come suggerisce il nome, è in realtà adatto solo per i formati di dati basati su testo, poiché in genere si desidera eseguire un'azione sul lato client con i dati recuperati dal server (non sempre però, a volte le persone semplicemente inviano XmlHttpRequests solo a aggiornare qualcosa sul server).
Su una nota a margine, non ho mai visto un'applicazione in cui l'invio di dati binari sarebbe stato comunque appropriato.
Molto spesso, le persone scelgono di inviare dati al server con POST o GET (che è fondamentalmente un metodo per trasferire coppie nome-valore inerenti a HTTP). Per inviare dati più complessi, ad esempio strutture gerarchiche, devono essere codificati in qualche modo.I documenti XML possono essere resi nativamente per JavaScript, inviati al server e analizzati in qualsiasi tipo di dati necessari. Ma dal momento che XML può essere un po 'un problema, molti sviluppatori usano invece i dati codificati JSON perché è facile da generare e facile da analizzare.
Ciò che il server invia è altrettanto arbitrario. Di solito, si specifica una funzione di callback nel proprio Javascript che gestisce i dati in entrata. Ancora una volta, le scelte popolari sono XML e JSON, che si analizzano facilmente in un oggetto documento o in una struttura di array rispettivamente. Potresti anche inviare un semplice testo o qualche altra confezione, ma ricorda che dovrai occuparti di estrarre da te i dati utilizzabili. A volte, può anche essere utile inviare frammenti HTML effettivi al client per aggiornare direttamente qualcosa sulla pagina.
Per cominciare, suggerisco di dare un'occhiata a JQuery. Si tratta di un framework molto leggero che astrae molti aspetti negativi della compatibilità e consente di scrivere le richieste AJAX molto bene.
- 1. Quali formati di video verranno riprodotti nell'emulatore?
- 2. Quali tipi di dati C# possono essere tipi nullable?
- 3. ffmpeg: quali formati di file supportano l'utilizzo di stdin?
- 4. REST e più formati di dati
- 5. Quali dati possono essere memorizzati nel tipo di dati varbinary di SQL Server?
- 6. Quali sono i formati di file di crittografia standard?
- 7. quali formati audio sono supportati dal browser Android?
- 8. Quali formati di immagine sono supportati da CANVAS in html5?
- 9. Esportare i dati di scraping in più formati utilizzando scrapy
- 10. Quali sono i formati di archiviazione binaria per sqflt8, sqlmoney e altri tipi di dati SQL nativi?
- 11. Formati di dati di addestramento e test di Vowpal Wabbit
- 12. Formati di visualizzazione di tag cloud preferibili
- 13. Quali sono i pro e i contro dell'uso di XML per trasferire i dati in questo programma Java?
- 14. Quali sono le differenze tra questi formati "aperti"
- 15. Quali classi non possono essere sottoclasse?
- 16. quali database possono essere utilizzati con java?
- 17. Quali lingue possono essere compilate in javascript?
- 18. Quali sono i formati di file immagine supportati per la visualizzazione su iPhone?
- 19. Quali dati contiene un TObject?
- 20. Trasferire MySQL in SQLite
- 21. Esempi di quali macro di Lisp possono essere utilizzate per
- 22. Quali limiti ha il back-end matplotlib nei formati di rendering?
- 23. Formati di file di ricamo?
- 24. JavaScript o ServiceWorkers possono rilevare attività di rete/eventi Ajax?
- 25. Quali librerie Java possono essere utilizzate per generare KML?
- 26. Formati data di modifica Excel
- 27. Reverse AJAX? Le modifiche ai dati possono essere "PUSHED" per lo script?
- 28. DirectX11: trasferire i dati da ComputeShader a VertexShader?
- 29. Come posso trasferire i dati tra 2 database MySQL?
- 30. Come trasferire i dati su una porta seriale?
Parli di un ambiente diverso da un browser? –
No. Browser standard. –