Почему данные все еще нулевые - PullRequest
2 голосов
/ 15 сентября 2010

У меня есть этот json

{"suggestions":["M.I.A.","M.","Mindless Self Indulgence","The Cure","Telefon Tel Aviv","M","J. Ralph","Jason Mraz","Carbon Based Lifeforms","Cycle of Pain","Chantal Kreviazuk","-M-","ayumi hamasaki","R.E.M.","Donny McCaslin","Penfold","HEALTH","R. Kelly","DJ Khaled","Eminem","Spose","T.I.","The Lonely Island","H.I.M. (His Infernal Majesty)","Dropkick Murphys","Taylor Swift"],"query":"m"}

, который я получаю от этого вызова ajax

$.getJSON('<%= ajax_path("artistName") %>', req, function(data) {
   //create array for response objects
   var suggestions = [];
   console.log(data);
   //process response
   $.each(data, function(i, val){                                
      suggestions.push(val.name);
   });
   console.log(suggestions);
   //pass array to callback
   add(suggestions);
});
},

почему мои предложения по-прежнему нулевые

1 Ответ

2 голосов
/ 15 сентября 2010

Вам не нужно проходить цикл, suggestions уже массив, доступный для использования, поэтому замените его:

var suggestions = [];
console.log(data);
//process response
$.each(data, function(i, val){                                
    suggestions.push(val.name);
});
console.log(suggestions);

С этим:

var suggestions = data.suggestions;
console.log(suggestions);

Тогда ваш массив, переданный в add(), будет иметь результаты из вашего ответа JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...