Hola a todos, hace poco empece a utilizar jquery y con el comence con javascript tambien y no logro resolver este tema!
Estoy realizando una galeria y pido a traves de $.get() la informacion que corresponde a la imagen que siga.. el nombre, numero, el titulo y los comentarios que se hayan hecho en la misma, aqui es donde tengo el problema ya que cuando meto el array en un json desde php, al llegar a javascript no se como analizarlo..
Código PHP:
while($rowCom=mysql_fetch_assoc($resCom)){
$comentarios[]=array("name" => $rowCom['nombre'], "avt" => $rowCom['img_peq'], "prcma" => $rowCom['proclama'], "dt" => $rowCom['dt']);
}
$comentarios=json_encode($comentarios);
$data = array("comentarios" => "$comentarios", "nro" => "$nro", "name" => "$name", "desc" => "$desc");
echo json_encode($data);
El code anterior en php me devuelve lo siguiente..
{"comentarios":"[{\"name\":\"Esteban\",\"avt\":\"02.jpg\",\"prcma\" :\"Amigo\",\"dt\":\"hace 7 dias\"},{\"name\":\"Guille\",\"avt\":\"01.jpg\",\" prcma\":\"un amigo\",\"dt\":\"hace 6 dias\"}]","nro":"5","name":"5","desc":"Imagen 5"}
Es correcto lo que estoy haciendo?
Este es el code en jquery
Código:
$('a.sig').click(
function () {
$.get("php/galeria.php",
datos,
function(imgSig){
var siguiente = imgSig.name + '.jpg';
datos.img = imgSig.nro;
$("img#gra").attr("src",siguiente);
$("p#desc").html(imgSig.desc);
//Ej.. si yo hago esto para sacar la cantidad de objetos del array que contiene el campo "comentarios" me tira la cantidad de letras que tiene..
var timeline = imgSig.timeline;
alert(timeline.length);
},
"json")
}
);
Supongo que el problema esta en que javascript considera el campo comentarios:"[{\"name\":\"Esteban\",\"avt\":\"02.jpg\",\"prcma\" :\"Amigo\",\"dt\":\"hace 7 dias\"},{\"name\":\"Guille\",\"avt\":\"01.jpg\",\" prcma\":\"un amigo\",\"dt\":\"hace 6 dias\"}]" como un string y no como un array o yo analizo mal el dato.. el tema es que no se como hacer para que me lo analice como si fuera un array para sacar la cantidad de comentarios que hay y luego hacer otras cosas..
Se entiende? o la complique mucho? Espero que puedan darme una mano. gracias.