¡Qué bueno saber que pudiste solucionar tu problema!
Solo como comentario, realizar una petición asíncrona sin jQuery, también es fácil:
Código Javascript
:
Ver originalvar ajax = new XMLHttpRequest();
ajax.open(método, ruta, asíncrono);
ajax.send(valores);
ajax.addEventListener("load", function(){
if (this.status == 200){
document.querySelector("#id del elemento de salida").innerHTML = this.responseText;
//Puedes realizar otras instrucciones
}
}, false);
El "método" puede ser GET, POST, DELETE o PUT. La "ruta" corresponde al nombre y ubicación del archivo en el lado del servidor. Por "asíncrono" nos referimos a la sincronía de la petición, pudiendo ser true o false. Los "valores" deben ser la cadena de consulta a enviar, como "a=1&b=2&c=3". Los valores que se pasan al método
ajax.send()
, pueden ir o no de acuerdo a esto:
- Cuando el método es diferente a GET, es necesario indicar los valores en
ajax.send()
. - Cuando el método es GET, los valores deben ir concatenados a la ruta.
Si se desea establecer una cabecera o, por ejemplo, si se quiere enviar los valores de un formulario, es necesario colocar la siguiente línea antes de
ajax.send()
:
Código Javascript
:
Ver originalajax.setRequestHeader("Content-Type", valor a establecer como cabecera);
Por ejemplo, cuando se procesa un formulario, se requiere establecer la siguiente cabecera:
Código Javascript
:
Ver originalajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Si se va a recibir una respuesta que bien pueda ser XML o JSON, esta debe ser recibida así:
Código Javascript
:
Ver original//Para XML
this.responseXML;
//Para JSON
JSON.parse(this.responseText);
Y al igual que el método
$.ajax()
de jQuery, también puedes utilizar
promesas.
Un saludo