problema con json_encode
Publicado por Guillermo (23 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:
Esta es la respuesta del PHP:
Ahora el trozo de código JavaScript:
/////////////////////////////////////////////////
/////// AJAX para cargar el formulario
/////////////////////////////////////////////////
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.
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


0