我正在使用API,只要您搜索某些内容,就会返回JSON。它基本上是一个自动完成搜索API。每当您开始在框中键入内容时,它都会使用GET请求命中API端点并返回JSON。假设您开始输入" lucky
" ,然后请求是https://autocomplete.clearbit.com/v1/companies/suggest?query=lucky
,JSON响应是
[{"name":"Lucky Brand","domain":"luckybrand.com","logo":"https://logo.clearbit.com/luckybrand.com"},{"name":"LuckyVitamin.com","domain":"luckyvitamin.com","logo":"https://logo.clearbit.com/luckyvitamin.com"},{"name":"Lucky Gunner Ammo","domain":"luckygunner.com","logo":"https://logo.clearbit.com/luckygunner.com"},{"name":"Lucky Orange","domain":"luckyorange.com","logo":"https://logo.clearbit.com/luckyorange.com"},{"name":"Lucky's Market","domain":"luckysmarket.com","logo":"https://logo.clearbit.com/luckysmarket.com"}]
它返回名称,域名和徽标。我有一个HTML搜索框,因此,无论何时开始输入,我都要在每个项目的行中显示logo image
,name
和domain
。但它没有正确显示。这是我的代码,
html: -
<input type="text" placeholder="type something ..." id="suggest" />
css: -
body{
padding: 30px;
}
JS: - (我使用的是jQuery)
$(document).ready(function () {
$("#suggest").autocomplete({
delay: 100,
source: function (request, response) {
// Suggest URL
var suggestURL = "https://autocomplete.clearbit.com/v1/companies/suggest?query=%QUERY";
suggestURL = suggestURL.replace('%QUERY', request.term);
// JSON Request
$.ajax({
method: 'GET',
dataType: 'json',
jsonCallback: 'jsonCallback',
url: suggestURL
})
.success(function(data){
response(data[]); //Here I want to pass all the return
//items. I can show only one item,
//like data[1].name but not sure how
//to go through each item.
});
}
});
});
答案 0 :(得分:0)
您可以使用forEach()方法来完成您的响应,例如
data.forEach(function(item) {
console.log(item.name, item.logo, item.domain);
});
有关forEach here
的更多信息