J'utilise jquery et javascript, avec un appel ajax pour obtenir toutes les informations d'un fichier json. Le fichier json se charge bien, et ajoute parfaitement les points à la carte, mais il y a toujours une erreur dans la console.AJAX JSON parse renvoie false
"TypeError: obj[i].info is null"
Bien que chaque point est inséré correctement et a l'attribut « info » en eux, pourquoi ne donne jquery une valeur nulle?
code Exemple:
$.ajax({
url: 'http://localhost:3000/api/',
type: 'GET',
dataType: 'html',
}).success(function(data){
var obj = $.parseJSON(data);
console.log(obj);
$.each(obj, function(i, item){
taxiData.push(new google.maps.LatLng(obj[i].info.latitude,obj[i].info.longitude));
});
}).error(function(data){
console.log("Error with data: " + data);
});
Mon JSON:
[{
"id" : 1,
"ip" : "165.242.13.8",
"referer" : "www.facebook.com",
"info" : {
"request" : "165.242.13.8",
"ip" : "165.242.13.8",
"country_code2" : "JP",
"country_code3" : "JPN",
"country_name" : "Japan",
"continent_code" : "AS",
"region_name" : "11",
"city_name" : "Hiroshima",
"postal_code" : "",
"latitude" : 34.3963,
"longitude" : 132.45940000000002,
"dma_code" : null,
"area_code" : null,
"timezone" : "Asia/Tokyo"
}
}
]
utilisation dataType: 'json', –
j'ai édité mon code, et définir le type de données comme json, l'analyse est correcte mais il y a toujours une erreur – Yagiz
Vous n'avez pas besoin de $ .parseJSON (data) si vous spécifiez dataType: json – LMeyer