2013-12-21 3 views
1

Скажите, что мне здесь не хватает. У меня есть следующий объект javascript.JavaScript Свойство объекта всегда возвращает undefined

[ { id: '16B0C2FC-A008-4E8A-849B-DB1251C8CABD', 
    handle: '123', 
    userId: 'ABC123'} ] 

Когда я следующий

success: function (registration) { 
       console.log(registration); 
       console.log(registration.handle); 

журнала консоли выписывает объекта, как определено выше. Однако, когда я делаю registration.handle, я получаю сообщение об ошибке «undefined». Если регистрация является вышеуказанным объектом, почему регистрация.handle не работает?

Что мне не хватает?

+0

В дополнение к ответам, вы, возможно, также придется разобрать ответ, с 'JSON.parse'. –

+1

Этот вопрос не соответствует теме, поскольку он слишком специфичен для одной базы кода. – jprofitt

ответ

4

У вас есть массив, содержащий объект. Свойства, к которым вы пытаетесь получить доступ, являются элементами объекта, а не массивом.

Прежде чем обращаться к его свойствам, вы должны сначала получить ссылку на объект.

registration[0].handle 
+0

Спасибо! Должен был это видеть. В последнее время он долго смотрел на нее. – ToddB

1

Попробуйте

var registration=[ { id: '16B0C2FC-A008-4E8A-849B-DB1251C8CABD', handle: '123', userId: 'ABC123'} ] 

alert(registration[0].handle) 

DEMO

0

это потому, что у Вас есть массив так, чтобы доступ к нему попробовать

registration[0].handle 

Пример

СЛУЧАЙ 1

registration = [ { id: '16B0C2FC-A008-4E8A-849B-DB1251C8CABD', handle: '123', userId: 'ABC123'} ]; 
console.log(registration[0].handle); 

СЛУЧАЙ 2

registration = { id: '16B0C2FC-A008-4E8A-849B-DB1251C8CABD', handle: '123', userId: 'ABC123'}; 
console.log(registration.handle); 
0

Вы получаете доступ к члену объекта.

сделать это следующим образом

success: function(registration) { 
     $.each(registration, function(index, data) { 
      var handle = data.handle; 
      console.log('id is getting now ' + handle); 
     }); 
    } 
1

Да, вы в первую очередь необходимо получить доступ к элементу массива, то вы можете найти объект

console.log(registration[0].handle); 
Смежные вопросы