我需要实现其中一个搜索结果页面,在该页面中单击按钮可以在页面底部添加新结果(通过Web服务将它们作为HTML代码获取),从而实现分页。无论用webdev行话称呼这种分页,我都注意到它有一个“问题”:当我向另一个页面发出HTTP请求然后回到上一个页面时(使用浏览器的后退按钮),添加的内容不再可见,当浏览器接收(并缓存)原始页面时,我会看到它。
作为一种解决方案,我想在离开页面之前再次询问获取的所有结果,但是我想到了一个很烦人的问题:我想知道这种解决方案是否属于“不良设计”的定义之下。
如果您的专家可以就如何再次请求结果给我提供意见和建议,我将不胜感激,因为我无法确定我可以依靠什么事件触发对WS的呼叫。
我假设您所指的是“无限滚动”或加载模式,其中用户仅看到一个子集,然后在某些事件(单击或滚动)上加载了更多的超集。
此内容是通过ajax加载的,而不是通过页面的第一个get请求加载的。在浏览时,将缓存get方法的返回值,即您所看到的显示。有一些方法可以解决此问题并提出新的要求。但是,结果是相同的,即返回一个get请求,而不是当前页面状态。
为了简化此操作,您将需要维护页面状态,这可能会让人望而生畏。让我们看一下当今网络上使用最广泛的版本:facebook的照片浏览。即使您动态加载数百张图像,但刷新或导航然后返回,您所获得的只是第一组。
基本上可以理解,如果您加载了一堆内容并回击,则作为用户,您将需要重新开始。尽管这很不幸,但背后有充分的理由。在以用户身份浏览时,您花时间等待这些ajax调用,它们很小。如果您必须等待页面加载的总和,那么等待时间可能会很长。加载时间是未在野外完成此操作的原因。
我要说的是您目前的做法没有错。让用户重新创建或浏览其动态内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句