Dot notation allows for accessing objects with a '.' Cannot figure out why this is happening. I have the following success function, as part of a jQuery $.ajax function.
success: function(data){
console.log('data = ' + data);
console.log('data.president = ' + data.president);
console.log('data.adviser = ' + data.adviser);
}
This, oddly, results in the following browser log:
data = {"president":1,"adviser":1}
data.president = undefined
data.adviser = undefined
I must be missing something painfully obvious. Can somebody enlighten me?
The data would have to be an Object to be accessed by a dot ..
It's a string now.
You need to parse it using for example:
data = JSON.parse(data);
Set dataType: "json" as ajax option so jQuery would parse your string data to javascript object
You define the data elements has strings, attributes of an object need to be declared without quotes, like this:
data = {president:1,adviser:1}
in that case you got the expected result
data.president = 1
data.adviser = 1