使用jQuery显示JSON响应的数据

时间:2017-12-06 15:39:15

标签: javascript jquery html css json

我正在使用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 imagenamedomain。但它没有正确显示。这是我的代码,

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.

            });
        }
    });

});

1 个答案:

答案 0 :(得分:0)

您可以使用forEach()方法来完成您的响应,例如

data.forEach(function(item) {
    console.log(item.name, item.logo, item.domain);
}); 

有关forEach here

的更多信息