getJSON возвращает ошибку «объект не определен» - PullRequest
1 голос
/ 25 мая 2011

У меня возникла эта проблема при попытке получить данные json.

Допустим, у меня есть файл с именем "projects.json" со следующей структурой (показывает 2 элемента, в исходном файле более 100)

{"project":[
        {
            "featid":1,
            "ced":12001,
            "x":659770.164751449,
            "y":990679.029463668

        },
        {
            "featid":2,         
            "ced":110002,
            "x":621482.834052153,
            "y":1034455.00718159
        }
]
}

когда я пытаюсь получить доступ к данным, я получаю следующую ошибку

 object is undefined
 length = object.length, 

это функция, которую я использую для получения данных

 $(document).ready(function(){
 var url="json/projects.json";

    $.getJSON(url,{featid: 1},function(data){
        $.each(data.results,function(i,proy){

           $("#output").append('<p>'+proy.ced+'</p>');
        });

    });
});

я что-то упустил?я проверил файл json и, похоже, он действителен, поэтому я не знаю, что это может быть.

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

Ответы [ 2 ]

6 голосов
/ 25 мая 2011

Ваши данные, похоже, не имеют свойства results.Вы имели в виду project?

0 голосов
/ 25 мая 2011

Атес прав.Вместо использования

$.each(data.results,function(i,proy)

используйте $.each(data.project,function(i,proy)

, поскольку в вашем JSON-проекте нет результатов.Кажется, вы скопировали код из любого примера и забыли изменить переменную (что очень часто встречается):)

...