2013-03-02 6 views
0

Ok je sais que cela semble stupide, parce que le code ci-dessous devrait fonctionnerJavascript JSON.parse SUB JSON

document.getElementById('petimg').src = petJSON[0].picture[0].large; 

mais il se bloque le site

ici est le code complet

xmlhttp=new XMLHttpRequest(); 
xmlhttp.open("GET","http://service.ipetfindr.com/iOS/?uri=fetchpet/13373A" + n[1],false); 
xmlhttp.send(); 

var petJSON = JSON.parse(xmlhttp.responseText); 

alert(petJSON[0].picture.large); 

document.getElementById('petimg').src = petJSON[0].picture.[0].large; 
document.getElementById("petname").innerHTML = petJSON[0].petname; 
document.getElementById("breed").innerHTML = petJSON[0].breed; 
document.getElementById("petid").innerHTML = petJSON[0].ipetfindrtagid; 

La partie du JSON avec laquelle je rencontre un problème est la suivante

"picture":[{"large":"http:\/\/www.ipetfindr.com\/petuploads\/7b2b07363b271703782d0b7d5362f8f4.JPG","small":"http:\/\/www.ipetfindr.com\/petuploads\/7b2b07363b271703782d0b7d5362f8f4-x-h80.JPG"}] 

EDIT FIX la façon de corriger cette erreur était simple

xmlhttp=new XMLHttpRequest(); 
xmlhttp.open("GET","http://service.ipetfindr.com/iOS/?uri=fetchpet/13373A" + n[1],false); 
xmlhttp.send(); 

var petJSON = JSON.parse(xmlhttp.responseText); 
var petpicture = petJSON[0].picture[0]; 
alert(petpicture.large); //THIS allows me or anyone to call the large image in the sub array 

document.getElementById('petimg').src = petJSON[0].picture.[0].large; 
document.getElementById("petname").innerHTML = petJSON[0].petname; 
document.getElementById("breed").innerHTML = petJSON[0].breed; 
document.getElementById("petid").innerHTML = petJSON[0].ipetfindrtagid; 
+0

Montrez-nous l'exception que vous obtenez (à partir de la console d'erreur) – Bergi

+0

Je ne vois aucune erreur dans la console, car c'est une application de téléphone qui se bloque – RussellHarrower

+0

Pourrait-il être suspendu à votre XHR. Vous utilisez le mode de blocage sur celui-ci, donc si cela prend un moment pour le recevoir, il pourrait planter le site/l'application – SReject

Répondre

0

petJSON[0].picture.[0].large est une erreur de syntaxe. Supprimer le point avant le [, vous pouvez utiliser uniquement la notation de point ou de parenthèse à access properties.

+0

Cela aussi aurait travaillé si mal cochez cette réponse – RussellHarrower

Questions connexes