0

我已经参考了许多关于堆栈溢出和其他站点的解决方案的问题。但是我到处都得到了不完整的答案。一些答案说将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"
4

3 回答 3

1

您应该尝试以下方法:

$.each(json, function (index, obj) {
    $('#AllowedFriends').append($('<option value="'+ obj.MemberId + '">' + obj.Name + '</option>'));
});
于 2013-09-07T23:36:12.350 回答
0

一个对象可以包含实际数据,有什么问题?我建议您使用开发人员控制台或 Firebug 查看来自浏览器的网络调用,以查看接收到的对象。然后 jQuery 将字符串解析为一个对象,以便您可以使用数据。

于 2013-09-07T23:27:51.043 回答
0

尝试console.log(eval('('+json+')'));

于 2013-09-07T23:28:15.233 回答