The data structure for my project is supposed to look like:
{
"result":"ok",
"content":[
{
"type":"1d",
"lower":1359129600,
"upper":1359133200,
"mean":29.071428571428573
},{
"type":"1d",
"lower":1359133200,
"upper":1359136800,
"mean":27.232142857142858
}]
}
I am trying to assign values for lower, upper, mean.
var dataResult = {result:"ok", content:[{type:"1d", lower:"", upper:"", mean:""}]};
var scope = this;
$.ajax({
type: "POST",
async: true,
url: scope.fetchUrl,
data: { query: dataQuery }
})
.done(function( data ) {
for(var i = 0; i < data["reading_list"].length; i++){
dataResult.content[i].lower = convertToUnix(data["reading_list"][i]["ts"]);
}
I keep getting "Uncaught TypeError: Cannot set property 'lower' of undefined" and I'm don't know where I'm going wrong. Any help would be appreciated
dataResult.content[i]returnsundefined. You cannot set a property onundefined. Simple test:var foo; foo.bar = 42;. Why is itundefined? Because the value ofiis not a property ofdataResult.content.