Pregunta

Soy nuevo en el AJAX, pero como un resumen de lo que me gustaría saber qué formatos puede cargar y descargar.Se limitó a JSON o XML, o se puede incluso enviar binario tipos como el MP3 o el formato UTF-8 HTML.Y por último, ¿ usted tiene el control total sobre los datos, byte por byte en algo así como una matriz de bytes, o es sólo una cadena de enviados/recibidos.

¿Fue útil?

Solución

Si estamos hablando de ajax estamos hablando de JavaScript? Y sobre XMLHTTPRequest?

El XMLHttpRequest, que es sólo una petición HTTP puede transferir todo. Pero no hay una matriz de bytes en javascript. Sólo cadenas, números y tal. Cada cosa que se obtiene de una llamada AJAX es un fragmento de texto (responseText). Eso podría ser analizado en XML (que le da reponseXML). codificaciones especiales deberían ser más una cuestión del transporte HTTP.

El material binario no se Ajax dependiente pero JavaScript dependiente. Hay algunas codificaciones extraños para las cadenas de bytes de datos para entregar el interior en javascript (especialmente para las imágenes), pero no es una solución general.

HTML no es un problema y que es el caso de uso más prominente. A partir de este tipo de solicitud se obtiene una cadena HTML entregado y que se añade a algún nodo en el DOM por innerHtml que analiza el código HTML.

Otros consejos

Dado que los datos se transporta a través de HTTP, tendrá que asegurarse de que se utiliza 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 es de base 64 a codificar los datos que desea enviar y luego base64 decodificar los datos en el servidor (o el cliente) y el uso de los datos originales como se pretendía.

Puede transferir cualquier tipo de datos, ya sea de cadena o bytes

Puede enviar lo que quiera, el problema puede ser cómo manejar la situación una vez que llegue;)

estándar HTML es probablemente el tipo más común de contenido ajax en uso por ahí -. Puede elegir la codificación de caracteres también, aunque siempre es mejor seguir con un tipo de codificación

AJAX simplemente significa que usted está transfiriendo datos de forma asíncrona a través de HTTP con una llamada de JavaScript.Así que el script hace una "normal" de la solicitud HTTP usando XmlHttpRequest() del objeto.Sin embargo, como el nombre implica, es realmente sólo es adecuado para el texto-base de datos de formatos ya que en general, usted quiere realizar alguna acción en el lado del cliente con los datos que obtuvimos del servidor (no siempre, sin embargo, a veces la gente acaba de enviar XmlHttpRequests sólo para actualizar algo en el servidor).

En una nota de lado, nunca he visto una aplicación en la que el envío de datos binarios habría sido apropiado de todos modos.

Más a menudo, la gente elige para enviar datos al servidor con el POST o GET (que es básicamente un método para la transferencia de pares de nombre-valor inherente a HTTP).Para el envío de datos más complejos, por ejemplo, estructuras jerárquicas, que necesitan para ser codificado de alguna manera.Los documentos XML pueden ser realizados de forma nativa por JavaScript, enviada por el servidor y analizada por todos los tipos de datos necesarios.Pero desde XML puede ser un poco de dolor, muchos desarrolladores usar JSON datos codificados en su lugar, porque es fácil de generar y fácil de analizar.

Lo que el servidor envía de vuelta es igual de arbitrario.Generalmente, se especifica una función de devolución de llamada en tu código Javascript que se encarga de los datos entrantes.De nuevo, las opciones populares son XML y JSON, analizar fácilmente en un objeto de documento o de una matriz de estructura respectivamente.También puede enviar el texto llano o algunos otros tipos de envases, pero recuerde que usted tiene que tener cuidado de extraer los datos utilizables de ti mismo.A veces, también puede ser beneficioso para enviar real fragmentos de HTML para el cliente para actualizar algo en la página directamente.

Para empezar, le sugiero que eche un vistazo a JQuery.Es un muy ligero de framework que resume muchas de mal las cosas compatibilidad y le permite escribir peticiones AJAX muy bien.

Puede mover cualquier cosa que se puede enviar a través de HTTP. Hay restricciones sobre la llamada que se están realizando para el mismo dominio que la página cargada de, pero no en el contenido de la transferencia. Usted puede hacer GET o POST de transacciones también.

Hay una Digg la entrada de blog titulado DUI.Stream y MXHR que muestra lo que ellos llaman "multiparte XMLHttpRequests". Es código alfa ahora, pero hay una capaz de manejar imágenes .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top