我正在构建搜索结果页面。在这个页面中,当我触发重新搜索时,它会发送一个ajax调用并返回一个搜索结果id,一旦前端返回了这个id,它将触发一个带有以下代码的重定向:
window.location.href = '/results/?search_results_id=' + search_results_id;
基本上它正在使用更新的search_results_id进行页面重新加载。但由于某些原因,它并不总是进行重新加载,有时它会使用更新的结果刷新整个页面,但有时它会重新加载旧的结果。
简而言之,重新搜索的流程是,使用搜索参数向后端发送ajax调用,后端与第三方api连接以获取结果,存储在memcache中,并将缓存ID返回到前端,在加载搜索结果页面时,应用程序使用url中的缓存ID从memcache加载数据并返回到前端进行显示。
我的问题是从搜索结果页面触发搜索时,这实际上是页面重新加载,并在网址上更新了搜索结果ID。当它重新加载时,浏览器正在加载缓存页面,而没有请求被发送到后端以获得新结果。