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 に答える