PHP - Realizar consulta con ajax, json, php

   
Vista:

Realizar consulta con ajax, json, php

Publicado por Kevin Melendez (4 intervenciones) el 16/11/2017 02:44:54
Un saludo amigos, actualmente estoy resolviendo un ejercicio en el cual quiero hacer una consulta sin necesidad de recargar la pagina, por tal motivo estoy usando ajax... Pero llevo ya varias horas y nada que doy con la solucion, e mirado algunos ejemplos que hay por internet pero ni asi e logrado resolverlo.

El problema es que el navegador no me da ningún error, si no que se queda colgado ejecutando la consulta y debo cerrar la pestaña para que vuelva a la normalidad.

Lo que quiero hacer es insertar un numero de cédula y al dar click en un boton compruebe si existe en mi base de datos, si existe me debe traer unos valores que se asignaran en varios cuadros de texto

Este es el código que tengo en el head de la pagina

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
30
31
32
33
34
35
36
37
<script type="text/javascript" src="../js/jquery-2.2.4.js"></script>
<script type="text/javascript">
 
$(document).ready(function(){
 
    // Asigno un evento a un botón de mi formulario
 
    $("[name='buscar_cli']").click(function(e){
 
        e.preventDefault();
 
        var datos_enviados = {
            'buscar_cli' : $("[name='ced_cli']")
        }
 
        $.ajax({
            type:'POST',
            url: 'bd_comun.php',
            data: datos_enviados,
            datatype: 'json',
        })
 
        // Compruebo si me esta trayendo los valores
 
        .done(function(data){
 
            console.log(data);
            var datos2 = JSON.parse(data);
            console.log(datos2);
 
        })
 
    })
 
})
 
</script>


Envio la cedula a un script php

1
2
3
4
5
if(isset($_POST['buscar_cli'])){
 
	$persona = new usuario();
        $valor = $persona->buscarCliente($_POST['buscar_cli']);
}

Por ultimo envió los datos a otro script php para realizar la consulta

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
public function buscarCliente($ced){
 
	$buscar = "SELECT COUNT(*) FROM registro_clientes WHERE rc_cedu=:a";
	$resultado = $this->db_conexion->prepare($buscar);
	$resultado->execute(array(':a'=>$ced));
 
	$filas = $resultado->fetchColumn();
 
	if($filas>0){
 
		$extraer = "SELECT rc_cedu,rc_nomb,rc_aped,rc_telf,rc_dire FROM registro_clientes WHERE rc_cedu=:a";
		$resultado2 = $this->db_conexion->prepare($extraer);
		$resultado2->execute(array(':a'=>$ced));
 
		$data["datos"][] = $resultado2->fech(PDO::FETCH_ASSOC);
 
		echo json_encode($data);
		$resultado2->closeCursor();
	}else{
		echo 'Error';
	}
 
	$resultado->closeCursor();
	$this->db_conexion = null;
}

Eso es lo que tengo amigos, comento que mi experiencia con ajax es nula. Si me pueden echar una mano se los agradecería, ya he modificado varias veces el ejercicio pero no consigo hacerlo funcionar :(
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

Realizar consulta con ajax, json, php

Publicado por Manuel (12 intervenciones) el 16/11/2017 14:54:01
Abre las herramientas de administrador (F12) y en la pestaña de red debería aparecerte el archivo que estas mandando llamar, le das clic al archivo y te deberia mostrar la respuesta que te esta dando, en los filtros selccciona solo XHR,
Y en cambia datatype por dataType, la t es mayuscula


Sin-titulo
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

Realizar consulta con ajax, json, php

Publicado por Kevin Melendez (4 intervenciones) el 16/11/2017 21:09:14
Gracias por la respuesta hermano, ya probé pero no me muestra nada :( la pagina queda congelada
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
Imágen de perfil de abzerox

Realizar consulta con ajax, json, php

Publicado por abzerox (145 intervenciones) el 17/11/2017 04:38:51
Hola, me parece que tu error esta aquí:

1
'buscar_cli' : $("[name='ced_cli']")

No estas enviando el valor del campo ced_cli si no el elemento en si, debes utilizar el método val() de jQuery para recuperar el valor del input.
Prueba con esto:

1
2
3
var datos_enviados = {
            'buscar_cli' : $("[name='ced_cli']").val()
        }
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
Revisar política de publicidad