Al grano: hice este tutorial: http://www.cristalab.com/tutoriales/tutorial-de-ajax-c162l/
Es mas, varias veces lo use y lo he tocado algun poquito para algunas cosas ..... pero lo que me esta pasado es lo siguiente: en el php que pide el ajax hauna funcion mail() y algunas consultas a bases de datos y eso ... y el mail me llega 2 veces, las consultas me las hace 2 veces .... como que me ejecuta todo 2 veces ...
lo estoy tratando de usar para hacer un "Recuperar clave" .. el php tiene que cambiar la clave y enviarme la clave nueva por mail... pero me la cambia dos veces y me envia dos mails....
Co codigo que estoy usando es el siguiente:
Código Javascript :
// Documento JavaScript
// Esta función cargará las paginas
function llamarasincrono (url, id_contenedor)
{
var pagina_requerida = false;
if (window.XMLHttpRequest)
{
// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest ();
} else if (window.ActiveXObject)
{
// pero si es IE
try
{
pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
}
catch (e)
{
// en caso que sea una versión antigua
try
{
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
else
return false;
pagina_requerida.onreadystatechange = function ()
{
// función de respuesta
cargarpagina (pagina_requerida, id_contenedor);
}
/****************************************************************************************************************************************************/
//ESTO ES UN PARCHERIO ::: DEBERIA ARREGLARLO PERO NO SE COMO
///si lo que busco es un salon le agrego a la url el ID enviado
if(url == "datosSalon.php")
{
url = url+"?ID="+document.getElementById ('ID_salones').value;
}
if(url == "recuperarClave.php")
{
url = url+"?email="+document.getElementById ('recuperarClave').value;
}
/****************************************************************************************************************************************************/
pagina_requerida.open ('GET', url, true); // asignamos los métodos open y send
pagina_requerida.send (null);
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina (pagina_requerida, id_contenedor)
{
if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText;
}
Se que el codigo es mejorable.... pero no cacho mucho de esto..... igualmente no entiendo porque me lo ejecuta dos veces....
Si hace falta el php avisen y lo agrego.
Ojala alguien entienda algo
Saludos
