AJAX - Enviar al servidorSolicitud
El objeto XMLHttpRequest se utiliza para intercambiar datos con el servidor.
Enviar solicitudes al servidor
Para enviar una solicitud al servidor, usamosXMLHttpRequestdel objetoopen()ysend()método:
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
| Método | Descripción |
|---|---|
| open(method,url,async) |
Especifica el tipo de solicitud, la URL y si la solicitud debe procesarse de forma asíncrona.
|
| send(string) |
Envía la solicitud al servidor.
|
¿GET o POST?
En comparación con POST, GET es más simple y rápido, y funciona en la mayoría de los casos.
Sin embargo, en los siguientes casos, utilice solicitudes POST:
- No desea usar archivos en caché (actualizar archivos o bases de datos en el servidor)
- Enviar grandes cantidades de datos al servidor (POST no tiene límite de cantidad de datos)
- Al enviar entradas de usuario con caracteres desconocidos, POST es más estable y confiable que GET

Solicitud GET
Una solicitud GET simple:
En el ejemplo anterior, es posible que obtenga resultados en caché.
Para evitar esto, agregue una ID única a la URL:
Ejemplo
Pruébalo »
Si desea enviar información mediante el método GET, agregue información a la URL:
Ejemplo
Pruébalo »
Solicitud POST
Una solicitud POST simple:
Si necesita enviar datos por POST como un formulario HTML, use setRequestHeader() para agregar el encabezado HTTP. Luego especifique los datos que desea enviar en el método send():
Ejemplo
Pruébalo »
| Método | Descripción |
|---|---|
| setRequestHeader(header,value) |
Agrega un encabezado HTTP a la solicitud.
|
url - El archivo en el servidor
del método open()urlEl parámetro es la dirección del archivo en el servidor:
xmlhttp.open("GET","ajax_test.html",true);
El archivo puede ser de cualquier tipo, como .txt y .xml, o un archivo de script del servidor, como .asp y .php (capaz de ejecutar tareas en el servidor antes de devolver la respuesta).
Asíncrono: ¿True o False?
AJAX se refiere a JavaScript y XML asíncronos (Asynchronous JavaScript and XML).
Si el objeto XMLHttpRequest se va a utilizar para AJAX, el parámetro async de su método open() debe establecerse en true:
xmlhttp.open("GET","ajax_test.html",true);
Para los desarrolladores web, enviar solicitudes asíncronas es un gran avance. Muchas tareas que se ejecutan en el servidor requieren bastante tiempo. Antes de AJAX, esto podía provocar que la aplicación se colgara o se detuviera.
Con AJAX, JavaScript no necesita esperar la respuesta del servidor, sino que:
- Ejecuta otros scripts mientras espera la respuesta del servidor
- Procesa la respuesta cuando está lista
Async=true
Cuando use async=true, especifique la función a ejecutar cuando la respuesta esté lista en el evento onreadystatechange:
Ejemplo
Pruébalo »
Aprenderá más sobre onreadystatechange en capítulos posteriores.
Async = false
Para usar async=false, cambie el tercer parámetro del método open() a false:
xmlhttp.open("GET","test1.txt",false);
No recomendamos usar async=false, pero para solicitudes pequeñas puede ser aceptable.
Recuerde que JavaScript esperará hasta que la respuesta del servidor esté lista para continuar. Si el servidor está ocupado o lento, la aplicación se colgará o se detendrá.
Nota:Cuando use async=false, no escriba una función onreadystatechange; simplemente coloque el código después de la instrucción send():
Ejemplo
Pruébalo »