2013-09-07 3 views
0

Я ссылался на многие вопросы о переполнении стека и на других сайтах для решения. Но везде я получил неполный ответ. в некотором ответе говорится о вводе данных json в консоль. Поэтому я попробовал, и там я правильно понял объект json. Но когда я добавляю его в HTML или предупреждаю, он говорит [object Object].json возвращает объект [object Object] вместо фактических данных

Есть много дубликатов этого вопроса, но все же я не понимаю, в чем проблема? Вот мой код до сих пор

$(document).click(function() { 
     $.ajax({ 
      type: "POST", 
      url: "/members/ListOfAllOppositeTypeUsersWithTheirRespectiveData?LoggedInUserOppositeType=2", 
      dataType: 'json', 
      success: function (json) { 
       console.log(json); 
       //var strJson = JSON.stringify(json); 
       $.each(json, function (key, value) { 
        $('#AllowedFriends').append($('<option value="'+ key + '">' + value + '</option>')); 
       }); 

      }, 
      error: function() { 
       alert("F"); 
      } 
     }); 
    }); 

редактировать:

Значения, которые я получаю в консоли:

0: Object 
MemberID: 1 
Name: "Cipla" 

1: Object 
MemberID: 2 
Name: "Himalaya" 
+0

JSON объект является объектом. Вызов $ .each() в строке не будет работать. Отправьте пример объекта, который вы вернете, и мы можем помочь вам получить к нему доступ. –

+0

Должен ли я отправлять значения, которые я получаю в Console.log? – Khushi

+0

Все, что показывает фактическое тело ответа. –

ответ

1

Вы должны попробовать что-то вроде:

$.each(json, function (index, obj) { 
    $('#AllowedFriends').append($('<option value="'+ obj.MemberId + '">' + obj.Name + '</option>')); 
}); 
+0

Спасибо, человек решает проблему – Khushi

+0

Этот ответ предполагает, что ответ представляет собой массив, а не объект, содержащий массив. В консоли разработчика ответ массива будет заключен в скобки []. Ответ объекта будет заключен в фигурные скобки {}. –

+0

Да, в консоли, а также в оповещении у меня есть скобки [] – Khushi

0

Объект может содержать фактические данные, в чем проблема? Я предлагаю вам взглянуть на сетевые вызовы из вашего браузера с помощью консоли разработчика или Firebug, чтобы узнать, какой объект получен. Затем jQuery анализирует строку в объекте, чтобы вы могли использовать данные.

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