鍍金池/ 問答/HTML5  PHP  Python  HTML/ 搜索框的聯(lián)想詞功能如何實(shí)現(xiàn)

搜索框的聯(lián)想詞功能如何實(shí)現(xiàn)

這個(gè)功能需要前后端配合嗎?還是只要前端就能完成呢
需求是填寫項(xiàng)目名稱,下面的框自動(dòng)出現(xiàn)補(bǔ)全的多條項(xiàng)目名稱,點(diǎn)一下,上面的輸入框就補(bǔ)全了
網(wǎng)上查到的是這個(gè)接口http://suggestion.baidu.com/su,但是這個(gè)接口ajax調(diào)出的數(shù)據(jù)并不包含我們需要的項(xiàng)目名稱

感謝大家給我解答,1樓的比較符合我內(nèi)心想法和我現(xiàn)在的技術(shù)水平,所以采納了他,非常感謝大家!??!謝謝!謝謝!謝謝!

回答
編輯回答
近義詞

前后配合,你這個(gè)已經(jīng)不是聯(lián)想了

那個(gè)鏈接是百度的。

前端檢測(cè)到input onchange就去后端查詢匹配的字符串,讓后端給你返回一個(gè)按照關(guān)聯(lián)性排序好的包含結(jié)果的數(shù)組

2018年4月17日 03:11
編輯回答
厭遇

首先:

  • 數(shù)據(jù)量非常小才可以全部load到客戶端然后把邏輯寫在前端
  • 數(shù)據(jù)量大就需要進(jìn)行后端配合

其次,實(shí)現(xiàn)的話存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)采用trie樹進(jìn)行,這樣可以進(jìn)行快速檢索,后端只需負(fù)責(zé)根據(jù)輸入查找。前端監(jiān)聽輸入框,輸入停止若干毫秒ajax提交到后端返回補(bǔ)全后的內(nèi)容即可。

相關(guān)參考:twitter的js庫(kù) typeahead.js

2017年9月22日 03:22