Realmente he estado buscando durante casi 2 horas y todavía tengo que encontrar un buen ejemplo sobre cómo pasar datos JSON de PHP a JS. Tengo un script de codificación JSON en PHP que hace eco de un script JSON que se parece más o menos a esto (pseudocódigo).¿Cómo obtener JSON de PHP a JS?
{
"1": [
{"id":"2","type":"1","description":"Foo","options:[
{"opt_id":"1","opt_desc":"Bar"},
{"opt_id":"2","opt_desc":"Lorem"}],
{"id":"3","type":"3","description":"Ipsum","options:[
...
"6":
{"id":"14","type":"1","description":"Test","options:[
...
etc
El problema es, ¿cómo puedo obtener esta información con JavaScript? Mi objetivo es crear un script .js que genere una encuesta basada en estos datos JSON, pero sinceramente, Dios no puede encontrar ningún ejemplo sobre cómo hacerlo. Adivinando que es algo así como:
Obj jsonData = new Object();
jsonData = $.getJson('url',data,function()){
enter code here
}
Cualquier enlace a cualquier buen ejemplo o similar sería muy apreciado. Y pensé que codificar los datos en PHP fue la parte difícil ...
EDIT:
Tengo este fragmento de código para trabajar, por lo que puedo revisar mis datos JSON enteros en JS. Pero ahora no puedo entender cómo llegar a los datos internos. Imprime el número de la etapa (1-6), pero no puedo entender cómo obtener los datos de la pregunta, y luego los datos de las opciones dentro de cada pregunta. ¿Debo experimentar con cada bucle anidado?
$(document).ready(function()
{
$('#show-results').click(function()
{
$.post('JSAAN.php', function(data)
{
var pushedData = jQuery.parseJSON(data);
$.each(pushedData, function(i, serverData)
{
alert(i);
})
})
})
});
La idea aquí es entrar en la información de la pregunta en el nivel medio y imprima la descripción qusetion, a continuación, basado en el tipo de pregunta - bucle a través de las opciones (si lo hay) para crear/RadioButton grupos de casillas de verificación antes de pasar a la siguiente pregunta El primer número representa en qué etapa de la encuesta de múltiples etapas estoy trabajando actualmente. Mi plan es dividirlo en 6 etapas ocultando/mostrando varios div hasta la última página donde se envía el formulario a través de Ajax.
Esta es deffo lo que necesito, sólo hay que hacer que funcione xD intentado poner una alerta en el interior getJSON pero nunca se activa. – Tom
Creo que hay un error de paréntesis en la función (jsonData)) {, debería ser función (jsonData) {no? Sin embargo, ninguno de los dos puede funcionar, solo lo hará por un tiempo :) – Tom
sí, tienes razón sobre el paréntesis extra :) – Leon