2017-06-21 149 views
1

我有一个使用algolia的实时搜索。Javascript显示搜索结果页

<input type="text" class="form-control" id="search_text" onkeyup="search_data(this.value);" placeholder="Search"> 

而我的JS是这样

var client = algoliasearch('''', ''''); 
     var index = client.initIndex('businesses'); 
    function search_data(search_value) { 
    index.search(search_value, function searchDone(err, content) { 
     if (err) { 
     console.error(err); 
     return; 
     } 

     for (var h in content.hits) 
     console.log(content); 
     console.log('Hit(' + content.hits[h].objectID + '): ' + content.hits[h].toString()); 

    }); 

    // with params 
    index.search(search_value, { 
     attributesToRetrieve: ['name'], 
     hitsPerPage: 50 
    }, function searchDone(err, content) { 
     if (err) { 
     console.error(err); 
     return; 
     } 

     for (var h in content.hits) { 
     console.log('Hit(' + content.hits[h].objectID + '): ' + content.hits[h].toString()); 
     } 
    }); 
    } 

输出在控制台日志看起来是这样的:

Object{ 
    hits: Array(2), 
    nbHits: 2, 
    page: 0, 
    nbPages: 1, 
    hitsPerPage: 20… 
}exhaustiveNbHits: truehits: Array(2)0: Object1: Objectapi_key: 10565created_at: nullemail: "n/a"facebook_business: nullgallery_id: nullid: 1image: nullinstagram_business: nulllogo: nullname: "Odeon Cinema"objectID: "1"twitter_business: nulltype: "3"updated_at: nulluser_id: 1 

但现在我卡住了。我如何在页面上输出这个内容? 从这些结果我想输出的所有结果,显示名称

//编辑

var client = algoliasearch('75RQSC1OHE', 'f06169611a53cb7e026f364739162cb9'); 
    var index = client.initIndex('businesses'); 
function search_data(search_value) { 
    index.search(search_value, { 
     attributesToRetrieve: ['name'], 
     hitsPerPage: 5 
    }, function searchDone(err, content) { 
    if (err) { 
    console.error(err); 
    return; 
    } 
    for (var h in content.hits) { 
    $('.test').append("<li>" + content.hits[h].name + "</li>"); 
    } 
}); 
} 
+0

你能清理结果吗? – inoabrian

+0

对不起,这是做 –

+0

pplease,解决任何人! ;) –

回答

1

要追加之前清除.test。循环前使用$('.test').html('');

+0

看到我的编辑,问题是内容不被替换,而是所有的时间都附加了,如何在清除.test之前追加? –

+0

检查我更新的答案 –