我使用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"}]帮帮我..。我该如何解决这个问题?
发布于 2015-11-20 22:29:15
你的问题不清楚,但我想你应该改变:
$('#results').append('<div class="item">' + value + '</div>');至:
$('#results').append('<div class="item">' + value.nama + '</div>');因为value是一个json对象,而name是该对象的唯一属性。
发布于 2015-11-20 22:33:48
在foreach中,第二个参数是对象集合中的单个对象。
如果想要显示json字符串,可以使用JSON.strigify(value),但如果想要访问json属性或值,则需要导航value json,例如:
value.name 它将在第一次迭代中打印'Sakkel Krista Afrentino‘,这是对象上第一个位置的内容
https://stackoverflow.com/questions/33828990
复制相似问题