84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
给定一个输入框,一个搜索点击按钮,当输入框获得焦点时提示用户最近搜索内容,如何实现,有哪些方法。从哪些方面测试以保障其健壮性。
光阴似箭催人老,日月如移越少年。
说说思路。建立一个隐藏的ul列表,待选项在列表里面。把曾经的输入内容以数组的形式存储在localstorage内。设置待选列表数组的最大长度,先进后出。把数组内容提取并渲染到列表上。
建议用localstorage储存这样持久性的数据
cookies主要用来验证身份
用户搜索记录一般存在数据库中,当用户打开你的站点之时,就默认加载最近的记录到redis等缓存中,然后输入框获得焦点时就触发js事件,用ajax去从后台获得相应的数据,后台直接从缓存中获取数据返回给前端。缓存的主要作用是一个用户在一次搜索过程中只需触发一次数据库操作。用户搜索后更新缓存,当用户退出站点后,缓存更新到数据库。
从简的话 使用cookie保证兼容 还是cookie类似客户端的数据除了放在cookie 还可以考虑内存数据库 如楼上提出的redis 或者 memcached
用cookie记录用户最近搜索词,当用户输入的时候取cookie并从值中匹配,然后就是提示给用户了
1,将热门或近期搜索内容存储到json文件或数据库中。2,将搜索内容放到本地。3,输入搜索内容时用文本相似算法,输出与输入内容相似最高的几个搜索内容。
locationStorage保存用户的搜索历史,然后遍历出来
说说思路。
建立一个隐藏的ul列表,待选项在列表里面。
把曾经的输入内容以数组的形式存储在localstorage内。
设置待选列表数组的最大长度,先进后出。
把数组内容提取并渲染到列表上。
建议用localstorage储存这样持久性的数据
cookies主要用来验证身份
用户搜索记录一般存在数据库中,当用户打开你的站点之时,就默认加载最近的记录到redis等缓存中,然后输入框获得焦点时就触发js事件,用ajax去从后台获得相应的数据,后台直接从缓存中获取数据返回给前端。缓存的主要作用是一个用户在一次搜索过程中只需触发一次数据库操作。用户搜索后更新缓存,当用户退出站点后,缓存更新到数据库。
从简的话 使用cookie
保证兼容 还是cookie
类似客户端的数据除了放在cookie 还可以考虑内存数据库 如楼上提出的redis 或者 memcached
用cookie记录用户最近搜索词,当用户输入的时候取cookie并从值中匹配,然后就是提示给用户了
1,将热门或近期搜索内容存储到json文件或数据库中。
2,将搜索内容放到本地。
3,输入搜索内容时用文本相似算法,输出与输入内容相似最高的几个搜索内容。
locationStorage保存用户的搜索历史,然后遍历出来