Foros del Web » Programando para Internet » Javascript »

obtener un valor de una respuesta json

Estas en el tema de obtener un valor de una respuesta json en el foro de Javascript en Foros del Web. que tal, estoy obteniendo una respuesta de un script php que luce así: Código: {"total":"1","rows":[{"id":"1","categoria":" deportes "}]} entonces necesito tener en una variable la respuesta ...
  #1 (permalink)  
Antiguo 08/05/2013, 08:46
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 9 años, 6 meses
Puntos: 23
obtener un valor de una respuesta json

que tal,

estoy obteniendo una respuesta de un script php que luce así:

Código:
{"total":"1","rows":[{"id":"1","categoria":"deportes"}]}
entonces necesito tener en una variable la respuesta deportes

como podria acceder a ella?

tengo el siguiente codigo

Código Javascript:
Ver original
  1. $.post('../folder/script.php',{q:id_categoria},function(result){
  2.     if (result.rows){ //si salio bien
  3.         alert(rows.categoria); //undefined
  4.     }
  5. },'json');

estoy tratando de obterlo por medio de rows.contrato pero me sale undefined

segun yo se puede tener por medio del nombre del arreglo rows y su elemento categoria pero obviamente me falta algo no?

gracias
  #2 (permalink)  
Antiguo 08/05/2013, 10:12
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 9 años, 6 meses
Puntos: 23
Respuesta: obtener un valor de una respuesta json

un avance...

Código Javascript:
Ver original
  1. $.post('../folder/script.php',{q:id_categoria},function(result){
  2.     alert(result.rows[1].categoria);
  3. },'json');

con result.rows[1].contrato logro ver el dato pero resulta que creo que no me esta funcionando enviar mi variable {q:id_categoria} porque me esta trayendo todas las categorias, no la que le estoy indicando, osea creo que mi json es algo asi:

{"total":"3","rows":[{"id":"1","categoria":"deportes"},{"id":"2","categ oria":"ferreteria"},{"id":"3","categoria":"abarrot es"}]}

entonces si yo le pongo:

alert(result.rows[0].categoria) =>deportes
alert(result.rows[1].categoria) => ferreteria
alert(result.rows[2].categoria) => abarrotes



como saber que me esta enviando la variable {q:id_categoria}

para solo obtener

{"total":"1","rows":[{"id":"1","categoria":"deportes"}]}

y entonces poder llamar al unico resultado asi:

var categoria = result.rows[0].categoria;

alguna sugerencia??

gracias
  #3 (permalink)  
Antiguo 08/05/2013, 10:49
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 9 años, 6 meses
Puntos: 23
Respuesta: obtener un valor de una respuesta json

Cita:
como saber que me esta enviando la variable {q:id_categoria}
Bueno ya se que si esta recibiendo una variable con:

alert(JSON.stringify(result));

esto me devuelve la respuesta json tal y como la manda el script php, con lo que aseguro y confirmo que estoy recibiendo algo asi:

{"total":"1","rows":[{"id":"1","categoria":"deportes"}]}

entonces parece que ya funciona si mando a llamar la categoria así:

result.rows[0].categoria

seguire probando...
  #4 (permalink)  
Antiguo 08/05/2013, 12:48
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 11 años, 6 meses
Puntos: 528
Respuesta: obtener un valor de una respuesta json

Un consejo: en vez de alert, usa console.log, y firefox con firebug.

éste te permite ver el contenido de todo un objeto

console.log(objeto); y en el debug de firebug verás toda la estructura y contenido del objeto.
  #5 (permalink)  
Antiguo 08/05/2013, 13:06
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 9 años, 6 meses
Puntos: 23
Respuesta: obtener un valor de una respuesta json

hola gracias ocp001a lo tendre en cuenta

Etiquetas: js, json, php, respuesta, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:05.