AJax JSON Ошибка вызова при попытке доступа к свойствам класса - PullRequest
0 голосов
/ 08 октября 2010

Я делаю JSON-вызов веб-метода, который определен в коде позади.Веб-метод возвращает объект класса. Класс возвращает 3 свойства: одно из списка типов и 2 целых числа.Я обращаюсь к ним следующим образом:

success: function(result) {
                    alert(result);
                    alert(result.LookCount);
                    alert(result.length);
                    if(result.LookCount  > 0)
                    {
                        var Info = "";

                        for(var i = 0;i < result.LookUps.length; i++)
                        {
                           Info += CreateLookUpGrid(result.LookUps[i].Client,result.LookUps[i].ClientOrg);
                        }

alert (result.LookCount) -> оповещения не определены, и когда я оповещаю о результате, отображается строка результата compelte, в которой есть все данные.Таким образом, данные возвращаются правильно веб-методом.Но я не могу получить к нему доступ.

Ответы [ 2 ]

1 голос
/ 08 октября 2010

Вам необходимо преобразовать строку результата в объект. Если вы используете последнюю версию jQuery, вы можете использовать метод parseJSON :

var data= $.parseJSON(result);
if (data.LookCount > 0) {
    ...
}
0 голосов
/ 08 октября 2010

Скорее всего, вам нужно использовать result.d вместо result. ASP.NET пытается реализовать некоторую безопасность, заключая объект JSON в свойство «d», чтобы ничто не было случайно оценено и запущено на клиенте.

Если вы делаете что-то, что на самом деле возвращает строку (как ваше сообщение указывает при описании результатов оповещения), вам нужно проанализировать строку в объект JSON. Вы можете сделать это с помощью JQuery или другого файла JavaScript, такого как JSON2.

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