2016-10-27 3 views
-1

1-й раз экспериментировал с данными JSON, и я надеялся получить некоторую ясность в своей проблеме.Копаем через структуру JSON (jQuery)

когда это использовать .getJSON на локальный файл я получаю аккуратный stucture как:

enter image description here

У меня нет проблем с получением значения мне нужно (CustRep) что-то вроде:

$.each(data.result, function(key, val) { 
    //console.log(val.CustRep);  
    }); 

Теперь, если я тяну тот же источник данных с сервера я получаю что-то вроде этого: enter image description here

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

Может кто-нибудь, пожалуйста, объясните новичку JS, почему я получаю разные структуры на том, что похоже на тот же источник и как правильно перемещаться по 2-й структуре, чтобы я мог получать значения для каждого CustRep?

Спасибо!

+1

вы ищете 'data.responseJSON.result'? – Vasan

+1

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

+0

Возможный дубликат [Как получить свойство responseJSON объекта jquery $ .ajax] (http://stackoverflow.com/questions/23681221/how-retrieve-responsejson-property-of-a-jquery-ajax-object) – Robiseb

ответ

1

Вы в основном идти об этом точно так же, как и раньше, только с проверкой ошибок:

if (data.status === 200) { //This is good to have 
    if (data.responseJSON && data.responseJSON.result) { 
     var results = data.responseJSON.result; 
     handleResults(results); 
    } 
} 
+0

Почему downvote? – JonSG

+0

Данные, как представляется, не определены, и если проверка не выполняется. Когда я пытаюсь: console.log (jsonData); - получить информацию с моего снимка экрана console.log (jsonData.status); - undefined Мне должно быть что-то действительно отсутствует здесь o.O –