Soy nuevo en AJAX, pero a modo de resumen, me gustaría saber qué formatos puede cargar y descargar. ¿Está limitado a JSON o XML o incluso puede enviar tipos binarios como HTML MP3 o UTF-8? Y, por último, ¿tiene control total sobre los datos, byte para byte en algo así como una matriz de bytes, o solo se envía/recibe una cadena?¿Qué formatos de datos puede transferir AJAX?
Respuesta
Si estamos hablando de ajax, estamos hablando de javascript? Y sobre XMLHTTPRequest?
XMLHttpRequest que es solo una solicitud http puede transferir todo. Pero no hay una matriz de bytes en javascript. Solo cadenas, números y tal. Todo lo que obtienes de una llamada ajax es una pieza de texto (responseText). Eso podría analizarse en XML (lo que le da respuesta a XML). Las codificaciones especiales deberían ser más una cuestión de transporte http.
Las cosas binarias no dependen de ajax, sino que dependen del javascript. Existen algunas codificaciones extrañas para las cadenas para entregar datos de bytes en javascript (especialmente para imágenes) pero no es una solución general.
HTML no es un problema y ese es el caso de uso más destacado. A partir de este tipo de solicitud, se obtiene una cadena HTML entregada y se agrega a algún nodo en el DOM por innerHTML que analiza el HTML.
Puede transferir cualquier tipo de datos, ya sea de cadena o bytes
¿Cómo se producen/consumen datos binarios en javascript? –
Quizás puedas usar String.charCodeAt (index) para obtener el código ASCII (creo) de un char particular dentro de una cadena. –
Puede enviar lo que quiera, el problema puede ser cómo manejar la situación una vez que llegue;)
HTML estándar es probablemente el más tipo común de contenido ajax en uso: también puede elegir la codificación de caracteres, aunque siempre es mejor seguir con un tipo de codificación.
Puede mover todo lo que se pueda enviar a través de HTTP. Existen restricciones sobre la realización de la llamada al mismo dominio que la página cargada, pero no sobre el contenido de la transferencia. También puede realizar transacciones GET o POST.
Como los datos se transportan a través de HTTP, deberá asegurarse de utilizar algún tipo de codificación. Uno de los más populares es la codificación base64. Puede encontrar más información en: http://www.webtoolkit.info/javascript-base64.html
La metodología consiste en codificar en base64 los datos que desea enviar y luego decodificar en base64 los datos en el servidor (o el cliente) y usar los datos originales como lo desea.
Hay una entrada Digg the Blog titulada DUI.Stream and MXHR que muestra lo que llaman "Multipart XMLHttpRequests". Ahora es un código alfa, pero hay un demo that handles images.
AJAX simplemente significa que está transfiriendo datos de manera asincrónica a través de HTTP con una llamada de JavaScript. Entonces su script hace una solicitud HTTP "normal" usando el objeto XmlHttpRequest(). Sin embargo, como su nombre lo indica, en realidad solo es adecuado para formatos de datos basados en texto, ya que generalmente desea realizar alguna acción en el lado del cliente con los datos que obtuvo del servidor (no siempre, a veces la gente simplemente envía XmlHttpRequests solo a actualizar algo en el servidor).
En una nota lateral, nunca he visto una aplicación donde el envío de datos binarios hubiera sido apropiado de todos modos.
La mayoría de las veces, las personas eligen enviar datos al servidor con POST o GET (que es básicamente un método para transferir pares de nombre-valor inherentes a HTTP). Para enviar datos más complejos, por ejemplo estructuras jerárquicas, necesitan ser codificados de alguna manera.Los documentos XML se pueden crear de forma nativa por JavaScript, enviarse al servidor y analizarse en los tipos de datos necesarios. Pero dado que XML puede ser un poco molesto, muchos desarrolladores utilizan datos codificados JSON en su lugar porque es fácil de generar y fácil de analizar.
Lo que devuelve el servidor es igualmente arbitrario. Normalmente, especifica una función de devolución de llamada en su Javascript que maneja los datos entrantes. Una vez más, las opciones populares son XML y JSON, que se analizan fácilmente en un objeto de documento o una estructura de matriz, respectivamente. También puede enviar texto sin formato u otro tipo de embalaje, pero recuerde que debe encargarse de extraer los datos utilizables de él. A veces, también puede ser beneficioso enviar fragmentos de HTML reales al cliente para actualizar algo en la página directamente.
Para empezar, sugiero que eche un vistazo a JQuery. Es un marco muy liviano que abstrae muchas de las cosas malas de compatibilidad y te permite escribir solicitudes AJAX muy bien.
- 1. ¿Qué software puede visualizar formatos de archivo VTK?
- 2. REST y múltiples formatos de datos
- 3. Transferir datos entre bases de datos con PostgreSQL
- 4. ¿Cómo puedo transferir datos entre 2 bases de datos MySQL?
- 5. ¿Cómo transferir algunos datos a otro Fragmento?
- 6. Transferir datos de una Actividad a otra Actividad Usar Intentos
- 7. La forma más fácil de transferir datos por Internet, Python
- 8. ¿Puede Google Drive transferir archivos de Documentos a Picasa?
- 9. ¿Qué significan estos formatos en docstring twisted?
- 10. Datos de SlickGrid AJAX
- 11. mediaelement.js formatos compatibles
- 12. ¿Puede el iPhone representar archivos de gráficos vectoriales directamente? ¿Qué formatos son compatibles?
- 13. ¿Cómo transferir mi base de datos MySQL a otra computadora?
- 14. Transferir gran cantidad de datos en el servicio WCF
- 15. Transferir datos de sesión entre hosts virtuales Apache
- 16. Transferir datos de un servidor memcached a otro
- 17. Formatos de archivo de bordado?
- 18. audio HTML5 qué formatos de audio son compatibles
- 19. Transferir archivo desde HDFS
- 20. ¿Para qué se utilizan los diferentes formatos de NameID?
- 21. ¿Qué formatos de archivos gráficos son compatibles con los navegadores?
- 22. AJAX: ¿qué tipo de contenido debe tener datos codificados JSON?
- 23. ¿Para qué se utilizan los diferentes formatos de archivo gettext?
- 24. No se puede cargar formatos ClassDiagram.cd URI no son compatibles
- 25. Jquery datos ajax codificación
- 26. Rails: datos de la base de datos de siembra y formatos de fecha
- 27. Transferir datos grandes entre aplicaciones .net en la misma computadora
- 28. Problema: transferir datos grandes a la segunda actividad
- 29. ¿Cómo transferir "datos" entre dos dispositivos (Android, iPhone)?
- 30. ¿Cómo transferir datos a un puerto en serie?
¿Habla de un entorno diferente al de un navegador? –
No. Navegadores regulares. –