我正在尝试显示返回的JSON中的值。我要么获得每个项目的[对象对象],要么一无所获。
有人知道如何显示返回值吗?
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
我的JSON看起来像这样:
[{{name:“ item1”,“ id”:“ 1”},{name:“ item2”,“ id”:“ 2”}等。]
答案 0 :(得分:1)
这是因为您正在映射data
(因此您希望该函数针对数据数组的每个元素运行),但是您还使用数据来设置名称和ID。
因此数据仍然[{name:"item1","id":"1"},{name:"item2","id":"2"},etc..]
进入函数,但是event
应该从数组中获取当前循环的项目。
尝试类似方法,但不要忘记doc:
$('#search-input').autocomplete({
source: function (request, response) {
$.getJSON("api/autocomplete.php?keyword=" + $("#search-input").val(), function (data) {
console.log(data);
response($.map(data, function (elementOfArray, indexInArray ) {
return {
label: elementOfArray.name,
value: elementOfArray.id
};
}));
});
}
});
此外,ES6实现map,最好在可能的情况下使用no-jquery函数:
response(data.map((elementOfArray, indexInArray) => {
return {
label: elementOfArray.name,
value: elementOfArray.id
};
}));
不带ajax的代码段示例
data = [{name:"item1","id":"1"},{name:"item2","id":"2"}]
console.log(data.map((item, idx) => {
return {
label: item.name,
value: item.id
};
}));