联想查询需要后台传来所有的数据吗?

这里后台做了分页功能,点击页数传来对应页的数据,但是如果不传来全部的数据,上面的查询就只能查询本页的,难道要一次传过来所有数据?这样不是卡到爆炸吗

clipboard.png

阅读 4.6k
5 个回答

大概有两种方案。

1是调用后端接口,每次输入都让后端做联想查询再返回相应的数据。

2是后端返回一个推荐数据,只在推荐数据里做联想。

当页数很少的时候,一次查询获取全部数据没有毛病。

但是当页数多了,一次查询获取全部数据,就不行了。所以你可以使用分页的功能,一次传一页,之后用户点击,使用ajax向后台请求下一页的数据。

可以在浏览器端缓存所有的数据,然后在前端进行筛选。
当然,也可以将输入的内容传到后端,让后端返回结果。
这两种方法都是可行的,具体取决于你对于列表的需求。如果你需要点击联想查询结果直接跳到对应详情的话,就无需更新列表,就可以直接做前端处理。但是如果需要点击联想查询结果时更新列表数据,按照结果返回新的分页列表的话,由于要更新分页信息,一般在服务器端处理(虽然前端处理也是可行的)。

但无论是前端还是后端进行数据处理,对于这种数据量比较大的查询而言,每次都查询会影响效率,所以一般都会做缓存(具体是服务器缓存还是前端缓存取决于你是前端处理还是后端处理),输入的时候只对缓存的数据进行筛选和排序展示。

你上面的查询 是 ajax 在后台返回查询结果啊。。

你查询不经过后台?
倒是第一次见这种需求
查询都是重新绑定数据的,数据源都不一样了,不知道为什么你会有这种想法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题