I'm trying to populate a select element using data from an external json file.
var dropDown = document.getElementById('dropdown');
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
// success
data = JSON.parse(request.responseText);
console.log(data);
for (var i = 0, len = data.length; i < len; i++) {
alert('FOO');
var data = data[i];
dropDown.innerHTML(option.name);
}
};
JSON
{
"TopLevel": {
"Second": [
"data",
"data",
"data",
"data"
],
"Second": [
{
"ThirdLabel": "data",
"ThirdID": "data"
},
{
"ThirdLabel": "data",
"ThirdID": "data"
},
{
"ThirdLabel": "data",
"ThirdID": "data"
}
]
},
"TopLevel": {
"Second": [
"data",
"data",
"data",
"data"
],
"Second": [
{
"ThirdLabel": "data",
"ThirdID": "data"
},
{
"ThirdLabel": "data",
"ThirdID": "data"
},
{
"ThirdLabel": "data",
"ThirdID": "data"
}
]
}
}
I've can successfully return my data using the above but for some reason I cant get the loop to run and im unsure what I'm doing wrong.
There's no console errors and my alert doesn't fire...
data.lengthis 0 or yourifstatement never returns true. Note that what you've posted as JSON is actually an object instead.