Comunidad de diseño web y desarrollo en internet online

Problemas con array AJAX JQUERY

Citar            
MensajeEscrito el 13 Feb 2014 07:57 pm
Cuento con un Array PHP con la siguiente estructura

Código :

[{"id":"0","valor":"Seleccionar..."},
 {"id":"493","valor":"Río Grande"},
 {"id":"494","valor":"Ushuaia"},
 {"id":"495","valor":"Islas del Atlántico Sur"},
 {"id":"496","valor":"Antártida Argentina"}]


Esta es la funcion AJAX JQUERY que estoy utilizando

Código Javascript :

$(function(){
     $('select').change(function(){
      var id = $(this).attr('id');
      var select_val = $("select option:selected ").val();
      
      $.post('pagina1.php', { pro : select_val }, function(respuesta) {
         alert (respuesta); // podemos ver la estructura del array
         var newSelect = '';
         for (var a = 0; a < respuesta.length; a++){
          
          html= '<ul>'+
                     '<li>ID = ' + respuesta[a].id + '</li>'+
                     '<li>Valor = ' + respuesta[a].valor + '</li>'+
                   '</ul>';
         }
         
         $('#resultados').append(html);   
      });
   });
});


Si yo hago un alert de la variable respuesta, puedo ver lo que me devuelve el PHP ahora como hago para mostrar el ID o el VALOR de una posición X del array con Jquery

Intente utilizando estas formas pero no funciona

Código :

respuesta[a].id
respuesta[a].valor


respuesta.id[a]
respuesta.id[valor]

respuesta[a][0]
respuesta[a][1]

Por PX10

70 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Feb 2014 10:46 pm
console.log(respuesta[a].id) me muestra undefined
console.log(respuesta[a].valor) me muestra undefined

Cuando hago respuesta.length (array.length) es como si me contaría los caracteres, como si todo fuera una gran palabra y no un array.

Por PX10

70 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Feb 2014 11:02 pm
SOLUCIONADO!

Efectivamente tomaba lo que me devolvía el PHP como un String y no un objeto.
Agregando esto convierte el String en un objeto con el cual podemos trabajar.

JSON.parse();

Por PX10

70 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.