Jquery getJSON retornar 'indefinido'
Pergunta
Eu estou tentando executar um simples getJSON para um arquivo PHP usando:
$.getJSON("loadThumbs.php", { usrID: 25 }, function(data){
alert(data.filename);
});
E quando as mensagens de alerta aparece lê "indefinidos".
Aqui está o meu arquivo PHP (loadThumbs.php):
$usrID = $_GET['usrID'];
$sql = "SELECT id, isDefaultProfile, filename, usrID FROM profile_images WHERE isDefaultProfile=1 AND usrID='$usrID'";
$result = mysql_db_query($DBname,$sql,$link) or die(mysql_error());
$rows = array();
while($r = mysql_fetch_assoc($result)) {
$rows[] = $r;
}
print json_encode($rows);
//Which outputs: [{"id":"5","isDefaultProfile":"1","filename":"26.jpg","usrID":"25"}]
Algumas ideias sobre o que eu poderia estar fazendo errado?
Solução
Tente:
alert(data[0].filename);
O JSON sendo retornado é um array (os suportes) contendo um objeto (as chaves), então você tem que acessar o primeiro elemento da matriz para ser capaz de obter o nome do arquivo do primeiro arquivo.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow