jquery ajax [object Object] [object Object]在列表中输出

时间:2015-11-20 14:21:16

标签: javascript jquery ajax

我的代码使用ajax:

$("#keyword").keyup(function() {
    var keyword = $("#keyword").val();
    if (keyword.length >= MIN_LENGTH) {
        $.get( "./lib/data_siswa_ajax.php", { keyword: keyword, sekolah: $("#sekolah").val()} )
        .done(function( data ) {
            $('#results').html('');
            var results = JSON.parse(data);
            $(results).each(function(nama, value) {
                $('#results').append('<div class="item">' + value + '</div>');
            })

            $('.item').click(function() {
                var text = $(this).html();
                $('#keyword').val(text);
            })

        });
    } else {
        $('#results').html('');
    }
});

div结果输出:

[object Object]

[object Object]

console.log:

[{"nama":"Sakkel Krista Afrentino"},{"nama":"Abdul Rahman Alfikkry"}]

帮帮我..我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

你的问题不明确,但我想你应该改变:

$('#results').append('<div class="item">' + value + '</div>');

要:

$('#results').append('<div class="item">' + value.nama + '</div>');

因为value是一个json对象,name是该对象的唯一属性。

答案 1 :(得分:1)

foreach中,第二个参数是对象集合的单个对象。

如果要显示json字符串,可以使用JSON.strigify(value),但如果要访问json属性或值,则需要导航value json,例如:

value.name 

它将在第一次迭代中打印'Sakkel Krista Afrentino',这是对象上第一个位置的内容