AJAX - peticion ajax sin enviar datos

   
Vista:
Imágen de perfil de Gabriel Humberto

peticion ajax sin enviar datos

Publicado por Gabriel Humberto (2 intervenciones) el 05/10/2017 07:33:50
Buen dia,

resulta que necesito hacer una petición al servidor por ajax, en el cual ultimo_registro.php me debe devuelver el ultimo registro de una consulta mysql, sin yo enviar datos ya que lógicamente no necesito hacerlo

aqui mi script

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function objetoAjax(){
    var xmlhttp=false;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
 
	    try {
	        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (E) {
	        xmlhttp = false;
	    }
	}
 
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	    xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}
ajax=objetoAjax();
ajax.open("ultimo_registro.php",true);
 
ajax.onreadystatechange=function() {
 
    if (ajax.readyState==4) {
        //se supone aqui obtengo el dato del ultimo registro
        var ultimo_id = ajax.responseText
        alert(ultimo_id)
    }
}

aqui el php ultimo_Registro.php , se que esta bien por que efectivamente me muestra el ultimo id cuando miro la consola del navegador, el problema esta en el script

1
2
3
4
5
6
7
8
9
10
<?php
 
require 'conectar_bd.php';
 
$consulta = mysql_query("SELECT * FROM solicitudes ORDER BY id DESC LIMIT 1") or die('Error. '.mysql_error());
$resultado = mysql_fetch_array($consulta);
 
echo $resultado['id'];
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Pedro

peticion ajax sin enviar datos

Publicado por Pedro (1 intervención) el 05/10/2017 17:17:50
Hola @Gabriel vamos a ir descartando problemas :

Lo primero comprueba que la consulta se realiza bien directamente a través de phpmyadmin
Una vez se realiza la consulta, prueba que el echo se ejecuta y puedes ver el resultado bien.

Si todo lo anterior está Okey te expongo algo que he visto en el código que no tienes puesto:

1
2
3
4
5
6
7
8
9
10
11
ajax=objetoAjax();
ajax.open("GET","ultimo_registro.php",true);
 
ajax.onreadystatechange=function() {
 
    if (ajax.readyState==4 && this.status==200) {
        //se supone aqui obtengo el dato del ultimo registro
        var ultimo_id = ajax.responseText
        alert(ultimo_id);
    }
}

Te he marcado en negrita lo primero que se me han ido los ojos que te faltaba , en principio considero que el código está bien también comparto contigo otra forma de crear un objeto httprequest.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function  objetoAjax(){
 
    /*Se comprueba si el navegador es compatible*/
    var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"]
    //activeX versions to check for in IE
    if (window.ActiveXObject)
    {
        //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
        for (var i=0; i<activexmodes.length; i++){
	        try{
	            return new ActiveXObject(activexmodes[i])
	        } catch(e){
	            //suppress error
	        }
        }
    } else if (window.XMLHttpRequest) // if Mozilla, Safari etc
        return new XMLHttpRequest()
    else
        return false
}

También a través de F12 puedes comprobar si existe algún tipo de fallo más

..alud---...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar