![](https://sp-ao.shortpixel.ai/client/to_auto,q_glossy,ret_img,w_474,h_236/http://www.dianaytecnologia.com/wp-content/uploads/2017/01/ajax-logo.jpg)
Qué usa AJAX principalmente?
AJAX es javascript Asíncrono, y lo que usa principalmente es el objeto XMLHTTPRequest, el DOM, XML y JSON
Qué es AJAX?
Brevemente explicado: CSS, Javascript y XHTML.
El Objeto XMLHTTPRequest
Es una interfaz, que se instancia como una clase y sirve para enviar peticiones al servidor y este devuelve las peticiones sin tener que refrescar toda la página.
Los datos pueden ser transferidos como: texto plano, XML, JSON, HTML entre otras.
![](https://sp-ao.shortpixel.ai/client/to_auto,q_glossy,ret_img,w_576,h_384/http://www.dianaytecnologia.com/wp-content/uploads/2017/01/ajaxexplicaciongráfica.png)
- 1- EL cliente ya tiene la página cargada, pero para no tener que recargarla cada ez que hace una consulta, le pide unos minidatos al servidor.
- 2- El servidor busca rápidamente esa pequeña información y la devuelve.
- 3- Se carga una pequeña porción de la web donde estás y no toda la página, un ejemplo: el buscador de Google.
El servidor contesta en modo texto, XML o en formato JSON.
La diferencia entre el modo texto y JSON, es que ne modo texto, nos devuelve un String y n formato JSON, nos devuelve este objeto en el que podemos navegar.
El código pertenece a nuestra querida W3School ——————–>
Abajo un ejemplo de creación de un objeto XHTMLRequest, teniendo en cuenta, que como siempre Internet Explorer no usa este estándar y usa el suyo.
![](https://sp-ao.shortpixel.ai/client/to_auto,q_glossy,ret_img,w_498,h_164/http://www.dianaytecnologia.com/wp-content/uploads/2017/01/objetoXHTMLREQUEST.png)
![Métodos Métodos](https://sp-ao.shortpixel.ai/client/to_auto,q_glossy,ret_img/http://www.dianaytecnologia.com/wp-content/uploads/elementor/thumbs/Métodos-nazim4854rvr35ccol9s1hya12diywr1kak9c33bko.png)
![](https://sp-ao.shortpixel.ai/client/to_auto,q_glossy,ret_img,w_640,h_480/http://www.dianaytecnologia.com/wp-content/uploads/2017/01/Propiedades-de.png)
Para saber si se recibe bien la información y para que no de errores, creamos un filtro con .readyState = 4 y .status = 200.
Cualquier valor que no sean estos, no se procesarán, así podrás poner un mensaje de error personalizado al usuario.