2014-10-21 4 views
0

У меня есть следующий код для получения информации от JSON.

$http.get('http://localhost:3000/folder/'Id) 
    .success(function (response) { 
      console.log("response ", response); 
      console.log("words: ", response.result.all.Word); 
    }) 
    .error(function (response) { 
      console.log("error"); 
    }); 

Но у меня есть проблема, чтобы получить данные в массиве:

TypeError: Cannot read property 'all' of undefined 

В ответ у меня есть:

response [Object, Object] 
    0: Object 
    _id: "543e95d78drjfn38ed53ec" 
    result: Object 
     all: ObjectWord: Array[17] 
     0: "word1" 
     1: "word2" 
     2: "word3" 
     ... 

Спасибо за вашу помощь!

+0

Ответ представляет собой массив объектов. Согласно объекту результата JSON внутри первого массива. Попробуйте добавить индексный ответ [0] .result.all –

ответ

1

Ваш response, как представляется, массив из 2-х объектов.

Заменить:

console.log("words: ", response.result.all.Word); 

С:

for(var i = 0; i < response.length; i++){ 
    console.log("words: ", response[i].result.all.Word); 
} 

Это должно перебрать обоих объектов в ответ, и войти смежный слово.

+0

Спасибо, но все еще есть ошибка "words: undefined". Я также должен повторять «Слова»? – Carlos

+0

Это означает, что 'response [i] .result.all' не имеет свойства под названием' Word'. Попробуйте 'console.log (« words: », response [i] .result.all);' посмотреть, что он содержит _does_. – Cerbrus

+0

@ Карлос я думаю, что это 'ответ [i] .result.all [0]' – iJade

0

Вы отсутствующий индекс, попробуйте следующий код:

response[i].result.all[j] where j=0....n 
+0

U r not txtng. Пожалуйста, не пишите так. – Cerbrus

+0

@Cerbrus обновлен – iJade

Смежные вопросы