PHP - problema con json_encode

   
Vista:

problema con json_encode

Publicado por Guillermo (21 intervenciones) el 25/11/2017 22:11:08
hola compañeros, tengo un problema con unos scripts, por favor quisiera que me ayudaran a resolverlos.

Principalmente es que el AJAX no captura la respuesta del PHP o que PHP no responda, y lo extraño es que es solo en esta parte, he hecho otras consultas con la misma técnica, pero hoy no se lo que pasa.

les dejo el script PHP:


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
include("../include/conexion.php");
session_start();
$idpersona = $_SESSION['idpersona'];
 
$consulta = "select * from claves where idpersona = '$idpersona'";
 
$ejecutar = mysql_query($consulta, $conexion);
 
$lista = array();
 
$filas = mysql_num_rows($ejecutar);
 
for ($i = 0 ; $i < $filas ; $i++){
 
	$r = mysql_fetch_array($ejecutar);
 
	array_push($lista, array ( "idclave"	=>	$r['idclave'],
			"clave"	=>	$r['clave']
		)
	);
}
 
$respuesta = array	(	"lista" => $lista,
	"filas" => $filas,
	"r" => "hola" //esto es solo para control
);
 
echo json_encode($respuesta);

Esta es la respuesta del PHP:
1
2
3
4
5
6
7
8
9
{
"lista":[
{"idclave":"117","clave":"uno"},
{"idclave":"118","clave":"dos"},
{"idclave":"119","clave":"tres"}
],
"filas":3,
"r":"hola"
}




Ahora el trozo de código JavaScript:

/////////////////////////////////////////////////
/////// AJAX para cargar el formulario
/////////////////////////////////////////////////

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function cargarFormulario(){ //llena la lista de claves
 
	var listado = $(".lista-claves");
 
	$.post('claves/cargar_claves.php',
 
		function(response) {
 
			alert(response.r)
 
			for (var i = 0; i < response.filas; i++) { //cuenta la cantidad de registros
				for ( var j = 0 ; j < 1 ; j++){ //cuenta la cantidad de campos
					listado.append("<input id='' name='ss' type='text' class='campo'> " +
					"<input name='borrar' type='button' value='X' class='borrar'>")
				}
			}
		}, "json");
}

El alert(response.r) es para monitorear que efectivamente este respondiendo PHP, debería decir "hola", pero no hay respuesta, no hay alert(). Superando el problema de alert(), ya esta todo bien.


Espero puedan ayudarme.
Gracias.
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

problema con json_encode

Publicado por Miguel (204 intervenciones) el 26/11/2017 00:48:27
Haz un console.log a tu response primero, para saber si estás llegando a ese punto.

También trata de colocarle el header de JSON antes de imprimir el contenido:

1
2
3
// no imprimir nada antes
header('Content-type: application/json');
echo json_encode($respuesta);
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