AJAX - Pasar datos php con json a js

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 2 puestos en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar datos php con json a js

Publicado por carlos (2 intervenciones) el 21/04/2019 23:49:53
Hola, soy recientemente nuevo con ajax y json. Tengo un login en php, que comprueba si existe en la db, y si existe, quiero mandar el nombre y el apellido a js. Tengo estos codigos, de una guia de yt, pero no me sale nada en el console log.

JS:
1
2
3
4
5
6
7
8
9
10
11
var xhr = new XMLHttpRequest();
xhr.open('GET','comprobarLogin.php');
xhr.onload = function(){
    if(xhr.status == 200 ){
        var json = JSON.parse(xhr.responseText);
        console.log(json[0].nombre);
    }else{
        console.log("Existe un error"+xhr.status);
    }
}
xhr.send();
PHP:
1
2
3
4
5
6
$datos = array(
    'nombre' => $nombre,
    'apellido' =>  $apellido
);
json_encode($datos);
echo json_encode($datos);
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title></title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script src="funciones.js"></script>
    </head>
    <body>
    </body>
</html>

Corre desde un uwamp, y voy a la ruta del js, y veo el codigo del js en pantalla, pero en consola vacio, y en el video, le funciona, no lo tiene dentro de ninguna funcion ni nada, solo va a x.js y ya le sale. ¿Que hago mal?

Y aprovecho para una pregunta, el codigo ajax, es para traer los datos del php, y quiero hacer una sesion con ellos. Entonces, al abrir la pagina, apareces en el login.php, introduces tus datos, y si es correcto, quiero que se haga al sesion. Este ajax.js, que lo tengo en un archivo el solo, quien lo llama, es decir, en js, puedo poner un onload, pero que pagina lo llama. Tengo el login.php(es index, lo primero que se habre), la home.html(se llega aqui si el login es correcto) y funciones.js que lo utilizo para otras cosas de forms del html.

Se que lo de ajax sera una chorrada, pero no tengo practica y lo otro, es una tonteria, pero no soy capaz de verlo claro, como llamarlo. Muchas gracias por la ayuda, es para mi proyecto de final de curso.
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 joel
Val: 87
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar datos php con json a js

Publicado por joel (30 intervenciones) el 22/04/2019 09:25:57
Hola Carlos, viendo tu código, creo que tienes un error...

En el archivo js, tiene que ser
1
console.log(json.nombre);
en vez de esto:
1
console.log(json[0].nombre);

recuerda que tienes que ejecutar tu código desde una url del tipo http://... no file://... no se si puede ser este el problema.
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
sin imagen de perfil
Val: 3
Ha disminuido su posición en 2 puestos en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar datos php con json a js

Publicado por carlos (2 intervenciones) el 22/04/2019 09:54:27
Hola, si es verdad que me faltaba ver la posicion del array, pero eso no lo arreglo. Cuando lo ejecuto desde el server, se ejecuta desde el http://localhost... /js/x.js. No se donde estara el problema, pero encontre otro codigo algo mas complejo, que me llega a solucionar el problema, gracias de todos modos por el interes.

Un saludo.
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