La notación de puntos permite acceder a objetos con un '.' No puedo entender por qué sucede esto. Tengo la siguiente función de éxito, como parte de una función jQuery $.ajax.
success: function(data){ console.log('data = ' + data); console.log('data.president = ' + data.president); console.log('data.adviser = ' + data.adviser); }Esto, curiosamente, da como resultado el siguiente registro del navegador:
data = {"president":1,"adviser":1} data.president = undefined data.adviser = undefinedDebo estar perdiendo algo dolorosamente obvio. ¿Alguien me puede iluminar?
Los datos tendrían que ser un Objeto para ser accedidos por un punto . . Es una cadena ahora. Necesita analizarlo usando, por ejemplo:
data = JSON.parse(data);Establezca dataType: "json" como opción ajax para que jQuery analice sus data de cadena en un objeto javascript
Usted define que los elementos de datos tienen cadenas , los atributos de un objeto deben declararse sin comillas, así:
data = {president:1,adviser:1}en ese caso obtuviste el resultado esperado
data.president = 1 data.adviser = 1