uso un framework php (laravel) en este tengo esta funcion:
Código PHP:
en javascript tengo:Ver original
$dientes= Diente::all();//obtengo todos los registros de la tabla Diente foreach ($dientes as $d) { $arrayName = array('id' => $d->id,'nombre' => $d->nombre,'color' => $d->color);//creo un array solo con las claves que voy a utilizar } return Response::json($arrayName);//convierto a json y envío
Código Javascript:
hasta alli todo funciona perfecto, se muestra en consola el el color y el nombre, el problema es que solo me muestra la ultima fila de la base de datos, asi que cambio el codigo php, en vez de retornar el array retorno la variable $diente asi:Ver original
.done(function(data) { var json = JSON.parse(data); console.log(json.color, json.nombre); })
Código PHP:
pero este condigo me muestra en consola undefined, no se porque ya que lo que se obtiene es un formato json valido:Ver original
return Response::json($dientes);//convierto a json y envío
Código json:
pero cuando retorno la variable $arrayName se quitan los corchetes y se retorna el siguiente formato:Ver original
[ { "id": "1", "nombre": "aaaa", "color": "rgb(109, 109, 153)", "created_at": "2013-10-25 19:42:25", "updated_at": "2013-10-25 19:42:25" } ]
Código json:
los dos los he validado en http://jsonlint.com/ y estan correctos, tal vez aparece undefined cuando utilizo la variable $dientes porque no se manejar el objeto tomado mediante javascript, espero haberme explicado.Ver original
{ "id": "1", "nombre": "aaaa", "color": "rgb(109, 109, 153)" }
De antemano gracias por las respuestas.