2013-07-22 5 views
0

Рассмотрим follwoing код на:

$("#btn1").click(function() {  

    $.ajax({ 
     type: "GET", 
     dataType:  'jsonp', 
     jsonpCallback: 'jsonCallback', 
     url: myurl, 

     success: getObj, 

     error: function (xhr, status, errorThrown) { 

        alert(xhr.statusText); 

      alert(xhr.responseText); 

      alert(xhr.status); 

      alert(errorThrown); 

       }   

    }); 

и функция успеха является

function getObj(data) { 




    $.each(data, function(key, value) { 

     alert(key + ": " + value); 

     }); 
}); 

Когда я попробовать, чтобы получить доступ к URL непосредственно возвращает данные, как это :

[{"id":405,"parentId":404,"createdBy":"iipaxAdm","displayName":"A-2013-04-1""eventCount":"0"},{"id":601,"parentId":404,"createdBy":"iipaxAdm","displayName":"A-2013-04-2","eventCount":"0"},{"id":701,"parentId":404,"createdBy":"iipaxAdm","displayName":"A-2013-04-3","eventCount":"3"}] 

Но когда траверс данных (возвращаемый результат) это только даст первый результат:

{"id":405,"parentId":404,"createdBy":"iipaxAdm","displayName":"A-2013-04-1""eventCount":"0"}, 

При проверке в инструменте разработчика ответ содержит все результаты.

Как убедиться, что данные должны содержать все reslutls?

ответ

-1

Может показаться, что javascript считает, что это строка, а не объект. Поскольку это JSON, вы можете использовать JSON.parse(data), чтобы получить данные в виде объекта или массива объектов, а затем пересечь его.

+0

Я пытаюсь это сделать, но при этом он показывает только первый результат –

+0

, если вы используете Chrome, вы можете использовать console.log() для данных, которые вы пытаетесь выполнить итерацией. Он покажет его как объект в древовидной структуре, я рекомендую использовать его для отладки, почему вы можете получить все записи. Кроме того, возможно, попытка итерации по-другому: 'for (i = 0; i Rouse02

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