我在堆栈溢出和其他站点上提到了很多关于解决方案的问题。但到处都有我不完整的答案。一些答案说将json数据记录到控制台。所以我试了一下,然后我正确地得到了json对象。但是当我将它添加到HTML或提醒时它说[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 :(得分:1)
你应该尝试类似的东西:
$.each(json, function (index, obj) {
$('#AllowedFriends').append($('<option value="'+ obj.MemberId + '">' + obj.Name + '</option>'));
});
答案 1 :(得分:0)
一个对象可以包含实际数据,有什么问题?我建议您使用开发人员控制台或Firebug查看浏览器的网络调用,以查看收到的对象。然后jQuery将字符串解析为一个对象,以便您可以使用该数据。
答案 2 :(得分:0)
尝试console.log(eval('('+json+')'));