我需要实现逻辑,其中我的逻辑失败。让我解释一下这个功能。
a)屏幕上有两个搜索,SearchA和SearchB。当我执行SearchA时,它给了我一些结果,我在屏幕上显示。 b)当我执行SearchB时,应用程序将搜索数据并显示在屏幕上。
预期结果:
When SearchB is performed both the search results should be show on the application.
结果:
When searchB is performed the search result of SearchA is disappearing and only SearchB is displaying. Visa Versa
请不要建议将搜索结果放入会话中。它是一个巨大的数据(数百万条记录)。所以请建议任何其他适当的实现。
答案 0 :(得分:0)
我假设搜索,结果页面都要重新加载,搜索结果是请求范围,第一次响应在第二次搜索时被删除(SearchB)
您可以使用Ajax而不是整页刷新来绘制页面的结果部分,从而保留搜索结果。
假设您有2个div SearchAResults和SearchBResults。 SearchA将从服务器获取结果后执行ajax请求并填充SearchAResults div。目前没有页面加载。同样,SearchB只会绘制SearchBResults。
此外,如果内存(而不是设计)是阻止您将结果存储在会话中的唯一标准,并且搜索结果需要重复使用 - 您可以查看一些外部缓存解决方案,例如Memcached,其中只有专用服务器处理这些庞大的数据。