Синтаксический анализ JSON с методом jQuery .each не работает. - PullRequest
1 голос
/ 27 мая 2011

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

Вот JSON, который возвращает мой метод:

{ "dateTime" : "5/26/2011",
  "requestTime" : 0.1020102,
  "users" : [ { "Email" : "joem@email.com",
        "Location" : "home",
        "Name" : "Joe M",
        "UserId" : "42a7eae4-d4fe-49a3-93df-cd0cf219ac95"
      },
      { "Email" : "test@test.net",
        "Location" : "Work",
        "Name" : "Test Name",
        "UserId" : "97a444fb-6e3d-482c-a966-dbd3e0c739c8"
      }
    ]
}

JQuery IЯ использую это так:

$.ajax({
type: "POST",
url: "Home/GetUsers",
data: dataString,
success: function (data) {                      
     $.each(data.users, function(i, item) {
          $("#results").append('<p>' + item.Name + '</p>');
     });
}

Я либо получил неопределенный, или ничего не происходит.

Я получаю объект объекта, если я делаю предупреждение (данные), поэтому я знаю, что он что-то возвращает.

Очевидно, что я здесь что-то не так, поэтому любая помощь будет принята с благодарностью.

Спасибо!

Ответы [ 2 ]

1 голос
/ 27 мая 2011

alert (data.users) показывает, что вы не определены? Попробуйте добавить dataType: 'text', а затем сделайте оповещение (данные) и убедитесь, что вы получаете правильный JSON: /

Это работает для меня:

var data = { "dateTime" : "5/26/2011",
             "requestTime" : 0.1020102,
             "users" : [ { "Email" : "joem@email.com",
                "Location" : "home",
                "Name" : "Joe M",
                "UserId" : "42a7eae4-d4fe-49a3-93df-cd0cf219ac95"
              },
              { "Email" : "test@test.net",
                "Location" : "Work",
                "Name" : "Test Name",
                "UserId" : "97a444fb-6e3d-482c-a966-dbd3e0c739c8"
              }
            ]
           };
$(data.users).each(function(i, item) {
    $("#results").append('<p>' + item.Name + '</p>');
});
1 голос
/ 27 мая 2011

Вы также можете попробовать сделать что-то вроде этого:

$.post('Home/GetUsers', dataString, function(result) {
  $(result.users).each(function(i, item){
            $('#results').append('<p>'+item.Name+'</p>');
            });
  },'json'
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...